{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "# Licensed to the Apache Software Foundation (ASF) under one\n",
    "# or more contributor license agreements.  See the NOTICE file\n",
    "# distributed with this work for additional information\n",
    "# regarding copyright ownership.  The ASF licenses this file\n",
    "# to you under the Apache License, Version 2.0 (the\n",
    "# \"License\"); you may not use this file except in compliance\n",
    "# with the License.  You may obtain a copy of the License at\n",
    "#\n",
    "#   http://www.apache.org/licenses/LICENSE-2.0\n",
    "#\n",
    "# Unless required by applicable law or agreed to in writing,\n",
    "# software distributed under the License is distributed on an\n",
    "# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n",
    "# KIND, either express or implied.  See the License for the\n",
    "# specific language governing permissions and limitations\n",
    "# under the License."
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "# Content-based recommender using Deep Structured Semantic Model\n",
    "\n",
    "An example of how to build a Deep Structured Semantic Model (DSSM) for incorporating complex content-based features into a recommender system.  See [Learning Deep Structured Semantic Models for Web Search using Clickthrough Data](https://www.microsoft.com/en-us/research/publication/learning-deep-structured-semantic-models-for-web-search-using-clickthrough-data/).  This example does not attempt to provide a datasource or train a model, but merely show how to structure a complex DSSM network."
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "source": [
    "import warnings\n",
    "\n",
    "import mxnet as mx\n",
    "from mxnet import gluon, np, npx, autograd, sym\n",
    "import numpy as onp\n",
    "from sklearn.random_projection import johnson_lindenstrauss_min_dim\n"
   ],
   "outputs": [],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "source": [
    "# Define some constants\n",
    "max_user = int(1e5)\n",
    "title_vocab_size = int(3e4)\n",
    "query_vocab_size = int(3e4)\n",
    "num_samples = int(1e4)\n",
    "hidden_units = 128\n",
    "epsilon_proj = 0.25\n",
    "\n",
    "ctx = mx.gpu() if mx.device.num_gpus() > 0 else mx.cpu()"
   ],
   "outputs": [],
   "metadata": {
    "collapsed": true
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "## Bag of words random projection"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "A previous version of this example contained a bag of word random projection example, it is kept here for reference but not used in the next example.\n",
    "Random Projection is a dimension reduction technique that guarantees the disruption of the pair-wise distance between your original data point within a certain bound.\n",
    "What is even more interesting is that the dimension to project onto to guarantee that bound does not depend on the original number of dimension but solely on the total number of datapoints.\n",
    "You can see more explanation [in this blog post](http://jasonpunyon.com/blog/2017/12/02/fun-with-random-numbers-random-projection/)"
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "source": [
    "proj_dim = johnson_lindenstrauss_min_dim(num_samples, epsilon_proj)\n",
    "print(\"To keep a distance disruption ~< {}% of our {} samples we need to randomly project to at least {} dimensions\".format(epsilon_proj*100, num_samples, proj_dim))"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "To keep a distance disruption ~< 25.0% of our 10000 samples we need to randomly project to at least 1414 dimensions\n"
     ]
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "source": [
    "class BagOfWordsRandomProjection(gluon.HybridBlock):\n",
    "    def __init__(self, vocab_size, output_dim, random_seed=54321, pad_index=0):\n",
    "        \"\"\"\n",
    "        :param int vocab_size: number of element in the vocabulary\n",
    "        :param int output_dim: projection dimension\n",
    "        :param int ramdon_seed: seed to use to guarantee same projection\n",
    "        :param int pad_index: index of the vocabulary used for padding sentences\n",
    "        \"\"\"\n",
    "        super(BagOfWordsRandomProjection, self).__init__()\n",
    "        self._vocab_size = vocab_size\n",
    "        self._output_dim = output_dim\n",
    "        proj = self._random_unit_vecs(vocab_size=vocab_size, output_dim=output_dim, random_seed=random_seed)\n",
    "        # we set the projection of the padding word to 0\n",
    "        proj[pad_index, :] = 0\n",
    "        self.proj = self.params.get_constant('proj', value=proj)\n",
    "\n",
    "    def _random_unit_vecs(self, vocab_size, output_dim, random_seed):\n",
    "        rs = onp.random.RandomState(seed=random_seed)\n",
    "        W = rs.normal(size=(vocab_size, output_dim))\n",
    "        Wlen = np.linalg.norm(W, axis=1)\n",
    "        W_unit = W / Wlen[:,None]\n",
    "        return W_unit\n",
    "\n",
    "    def forward(self, x, proj):\n",
    "        \"\"\"\n",
    "        :param nd or sym F:\n",
    "        :param nd.NDArray x: index of tokens\n",
    "        returns the sum of the projected embeddings of each token\n",
    "        \"\"\"\n",
    "        embedded = npx.embedding(x, proj, input_dim=self._vocab_size, output_dim=self._output_dim)\n",
    "        return embedded.sum(axis=1)"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "source": [
    "bowrp = BagOfWordsRandomProjection(1000, 20)\n",
    "bowrp.initialize()"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "source": [
    "bowrp(mx.np.array([[10, 50, 100], [5, 10, 0]]))"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "\n",
       "[[ 0.35554492  0.0736109  -0.1220893   0.11155054 -0.20963743  0.21141198\n",
       "   0.12296599  0.12428369 -0.10999548 -0.16867855 -0.09068598  0.14154953\n",
       "  -0.24029303  0.11956739  0.02830955 -0.14226514 -0.45963028 -0.5456747\n",
       "  -0.5663947  -0.10585886]\n",
       " [-0.31655627 -0.13582113 -0.13815539  0.42596683  0.25674546  0.5024462\n",
       "  -0.3122709   0.01826438 -0.0277671  -0.14526835  0.44378105  0.09626544\n",
       "   0.24572927  0.36588538  0.17922089 -0.21583243 -0.30497772  0.19484927\n",
       "  -0.20705326 -0.13759173]]\n",
       "<NDArray 2x20 @cpu(0)>"
      ]
     },
     "metadata": {},
     "execution_count": 6
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "With padding:"
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "source": [
    "bowrp(mx.np.array([[10, 50, 100, 0], [5, 10, 0, 0]]))"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "\n",
       "[[ 0.35554492  0.0736109  -0.1220893   0.11155054 -0.20963743  0.21141198\n",
       "   0.12296599  0.12428369 -0.10999548 -0.16867855 -0.09068598  0.14154953\n",
       "  -0.24029303  0.11956739  0.02830955 -0.14226514 -0.45963028 -0.5456747\n",
       "  -0.5663947  -0.10585886]\n",
       " [-0.31655627 -0.13582113 -0.13815539  0.42596683  0.25674546  0.5024462\n",
       "  -0.3122709   0.01826438 -0.0277671  -0.14526835  0.44378105  0.09626544\n",
       "   0.24572927  0.36588538  0.17922089 -0.21583243 -0.30497772  0.19484927\n",
       "  -0.20705326 -0.13759173]]\n",
       "<NDArray 2x20 @cpu(0)>"
      ]
     },
     "metadata": {},
     "execution_count": 7
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "# Content-based recommender / ranking system using DSSM"
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "For example in the search result ranking problem:\n",
    "You have users, that have performed text-based searches. They were presented with results, and selected one of them.\n",
    "Results are composed of a title and an image.\n",
    "\n",
    "Your positive examples will be the clicked items in the search results, and the negative examples are sampled from the non-clicked examples.\n",
    "\n",
    "The network will jointly learn embeddings for users and query text making up the \"Query\", title and image making the \"Item\" and learn how similar they are.\n",
    "\n",
    "After training, you can index the embeddings for your items and do a knn search with your query embeddings using the cosine similarity to return ranked items"
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "source": [
    "proj_dim = 128"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "source": [
    "class DSSMRecommenderNetwork(gluon.HybridBlock):\n",
    "    def __init__(self, query_vocab_size, proj_dim, max_user, title_vocab_size, hidden_units, random_seed=54321, p=0.5):\n",
    "        super(DSSMRecommenderNetwork, self).__init__()\n",
    "            \n",
    "        # User/Query pipeline\n",
    "        self.user_embedding = gluon.nn.Embedding(max_user, proj_dim)\n",
    "        self.user_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")\n",
    "        \n",
    "        # Instead of bag of words, we use learned embeddings + stacked biLSTM average\n",
    "        self.query_text_embedding = gluon.nn.Embedding(query_vocab_size, proj_dim)\n",
    "        self.query_lstm = gluon.rnn.LSTM(hidden_units, 2, bidirectional=True)\n",
    "        self.query_text_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")            \n",
    "        \n",
    "        self.query_dropout = gluon.nn.Dropout(p)\n",
    "        self.query_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")\n",
    "\n",
    "        # Item pipeline\n",
    "        # Instead of bag of words, we use learned embeddings + stacked biLSTM average\n",
    "        self.title_embedding = gluon.nn.Embedding(title_vocab_size, proj_dim)\n",
    "        self.title_lstm = gluon.rnn.LSTM(hidden_units, 2, bidirectional=True)\n",
    "        self.title_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")\n",
    "        \n",
    "        # You could use vgg here for example\n",
    "        self.image_embedding = gluon.model_zoo.vision.resnet18_v2(pretrained=False).features \n",
    "        self.image_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")\n",
    "        \n",
    "        self.item_dropout = gluon.nn.Dropout(p)\n",
    "        self.item_mlp = gluon.nn.Dense(hidden_units, activation=\"relu\")\n",
    "    \n",
    "    def forward(self, user, query_text, title, image):\n",
    "        # Query\n",
    "        user = self.user_embedding(user)\n",
    "        user = self.user_mlp(user)\n",
    "\n",
    "        query_text = self.query_text_embedding(query_text)\n",
    "        query_text = self.query_lstm(query_text.transpose((1,0,2)))\n",
    "        # average the states\n",
    "        query_text = query_text.mean(axis=0)\n",
    "        query_text = self.query_text_mlp(query_text)\n",
    "        \n",
    "        query = np.concatenate([user, query_text])\n",
    "        query = self.query_dropout(query)\n",
    "        query = self.query_mlp(query)\n",
    "        \n",
    "        # Item\n",
    "        title_text = self.title_embedding(title)\n",
    "        title_text = self.title_lstm(title_text.transpose((1,0,2)))\n",
    "        # average the states\n",
    "        title_text = title_text.mean(axis=0)\n",
    "        title_text = self.title_mlp(title_text)\n",
    "        \n",
    "        image = self.image_embedding(image)\n",
    "        image = self.image_mlp(image)\n",
    "        \n",
    "        item = np.concatenate([title_text, image])\n",
    "        item = self.item_dropout(item)\n",
    "        item = self.item_mlp(item)\n",
    "        \n",
    "        # Cosine Similarity\n",
    "        query = query.expand_dims(axis=2)\n",
    "        item = item.expand_dims(axis=2)\n",
    "        sim = npx.batch_dot(query, item, transpose_a=True) / np.expand_dims((np.norm(query, axis=1) * np.norm(item, axis=1) + 1e-9), axis=2)\n",
    "        \n",
    "        return sim.squeeze(axis=2)"
   ],
   "outputs": [],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "source": [
    "network = DSSMRecommenderNetwork(\n",
    "    query_vocab_size,\n",
    "    proj_dim,\n",
    "    max_user,\n",
    "    title_vocab_size,\n",
    "    hidden_units\n",
    ")\n",
    "\n",
    "\n",
    "network.initialize(mx.init.Xavier(), ctx)\n",
    "\n",
    "# Load pre-trained vgg16 weights\n",
    "with network.name_scope():\n",
    "    network.image_embedding = gluon.model_zoo.vision.resnet18_v2(pretrained=True, ctx=ctx).features"
   ],
   "outputs": [],
   "metadata": {
    "collapsed": false,
    "scrolled": false
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "It is quite hard to visualize the network since it is relatively complex but you can see the two-pronged structure, and the resnet18 branch"
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "source": [
    "mx.viz.plot_network(network(\n",
    "                        mx.sym.var('user'), mx.sym.var('query_text'), mx.sym.var('title'), mx.sym.var('image')),\n",
    "                    shape={'user': (1,1), 'query_text': (1,30), 'title': (1,30), 'image': (1,3,224,224)},\n",
    "                    node_attrs={\"fixedsize\":\"False\"})"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "image/svg+xml": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n -->\n<!-- Title: plot Pages: 1 -->\n<svg width=\"10034pt\" height=\"8697pt\"\n viewBox=\"0.00 0.00 10034.00 8697.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 8693)\">\n<title>plot</title>\n<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-8693 10030,-8693 10030,4 -4,4\"/>\n<!-- user -->\n<g id=\"node1\" class=\"node\"><title>user</title>\n<ellipse fill=\"#8dd3c7\" stroke=\"black\" cx=\"6280\" cy=\"-7134\" rx=\"47\" ry=\"29\"/>\n<text text-anchor=\"middle\" x=\"6280\" y=\"-7130.3\" font-family=\"Times,serif\" font-size=\"14.00\">user</text>\n</g>\n<!-- dssmrecommendernetwork0_embedding0_fwd -->\n<g id=\"node2\" class=\"node\"><title>dssmrecommendernetwork0_embedding0_fwd</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6417,-7272 6143,-7272 6143,-7214 6417,-7214 6417,-7272\"/>\n<text text-anchor=\"middle\" x=\"6280\" y=\"-7239.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_embedding0_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_embedding0_fwd&#45;&gt;user -->\n<g id=\"edge1\" class=\"edge\"><title>dssmrecommendernetwork0_embedding0_fwd&#45;&gt;user</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6280,-7203.58C6280,-7190.28 6280,-7175.63 6280,-7163.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6280,-7213.89 6275.5,-7203.89 6280,-7208.89 6280,-7203.89 6280,-7203.89 6280,-7203.89 6280,-7208.89 6284.5,-7203.89 6280,-7213.89 6280,-7213.89\"/>\n<text text-anchor=\"middle\" x=\"6283.5\" y=\"-7184.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n</g>\n<!-- dssmrecommendernetwork0_dense0_fwd -->\n<g id=\"node3\" class=\"node\"><title>dssmrecommendernetwork0_dense0_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"6331.5,-7381 6228.5,-7381 6228.5,-7323 6331.5,-7323 6331.5,-7381\"/>\n<text text-anchor=\"middle\" x=\"6280\" y=\"-7355.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n<text text-anchor=\"middle\" x=\"6280\" y=\"-7340.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_dense0_fwd&#45;&gt;dssmrecommendernetwork0_embedding0_fwd -->\n<g id=\"edge2\" class=\"edge\"><title>dssmrecommendernetwork0_dense0_fwd&#45;&gt;dssmrecommendernetwork0_embedding0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6280,-7312.58C6280,-7299.28 6280,-7284.63 6280,-7272.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6280,-7322.89 6275.5,-7312.89 6280,-7317.89 6280,-7312.89 6280,-7312.89 6280,-7312.89 6280,-7317.89 6284.5,-7312.89 6280,-7322.89 6280,-7322.89\"/>\n<text text-anchor=\"middle\" x=\"6297\" y=\"-7293.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n</g>\n<!-- dssmrecommendernetwork0_dense0_relu_fwd -->\n<g id=\"node4\" class=\"node\"><title>dssmrecommendernetwork0_dense0_relu_fwd</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"6327,-7490 6233,-7490 6233,-7432 6327,-7432 6327,-7490\"/>\n<text text-anchor=\"middle\" x=\"6280\" y=\"-7464.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"6280\" y=\"-7449.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_dense0_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense0_fwd -->\n<g id=\"edge3\" class=\"edge\"><title>dssmrecommendernetwork0_dense0_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6280,-7421.58C6280,-7408.28 6280,-7393.63 6280,-7381.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6280,-7431.89 6275.5,-7421.89 6280,-7426.89 6280,-7421.89 6280,-7421.89 6280,-7421.89 6280,-7426.89 6284.5,-7421.89 6280,-7431.89 6280,-7431.89\"/>\n<text text-anchor=\"middle\" x=\"6290.5\" y=\"-7402.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- query_text -->\n<g id=\"node5\" class=\"node\"><title>query_text</title>\n<ellipse fill=\"#8dd3c7\" stroke=\"black\" cx=\"5334\" cy=\"-6807\" rx=\"47\" ry=\"29\"/>\n<text text-anchor=\"middle\" x=\"5334\" y=\"-6803.3\" font-family=\"Times,serif\" font-size=\"14.00\">query_text</text>\n</g>\n<!-- dssmrecommendernetwork0_embedding1_fwd -->\n<g id=\"node6\" class=\"node\"><title>dssmrecommendernetwork0_embedding1_fwd</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5471,-6945 5197,-6945 5197,-6887 5471,-6887 5471,-6945\"/>\n<text text-anchor=\"middle\" x=\"5334\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_embedding1_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_embedding1_fwd&#45;&gt;query_text -->\n<g id=\"edge4\" class=\"edge\"><title>dssmrecommendernetwork0_embedding1_fwd&#45;&gt;query_text</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5334,-6876.58C5334,-6863.28 5334,-6848.63 5334,-6836.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5334,-6886.89 5329.5,-6876.89 5334,-6881.89 5334,-6876.89 5334,-6876.89 5334,-6876.89 5334,-6881.89 5338.5,-6876.89 5334,-6886.89 5334,-6886.89\"/>\n<text text-anchor=\"middle\" x=\"5341\" y=\"-6857.8\" font-family=\"Times,serif\" font-size=\"14.00\">30</text>\n</g>\n<!-- dssmrecommendernetwork0_transpose0 -->\n<g id=\"node7\" class=\"node\"><title>dssmrecommendernetwork0_transpose0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6661,-7054 6425,-7054 6425,-6996 6661,-6996 6661,-7054\"/>\n<text text-anchor=\"middle\" x=\"6543\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_transpose0</text>\n</g>\n<!-- dssmrecommendernetwork0_transpose0&#45;&gt;dssmrecommendernetwork0_embedding1_fwd -->\n<g id=\"edge5\" class=\"edge\"><title>dssmrecommendernetwork0_transpose0&#45;&gt;dssmrecommendernetwork0_embedding1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6415.31,-6996.04C6415.2,-6996.02 6415.1,-6996.01 6415,-6996 6227.61,-6973.73 5752.88,-7004.18 5566,-6978 5517.23,-6971.17 5464.01,-6957.63 5420.87,-6945.04\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6424.93,-6997.3 6414.43,-7000.46 6419.97,-6996.65 6415.01,-6996 6415.01,-6996 6415.01,-6996 6419.97,-6996.65 6415.6,-6991.54 6424.93,-6997.3 6424.93,-6997.3\"/>\n<text text-anchor=\"middle\" x=\"5586.5\" y=\"-6966.8\" font-family=\"Times,serif\" font-size=\"14.00\">30x128</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape0 -->\n<g id=\"node8\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape0</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"8052,-6945 7788,-6945 7788,-6887 8052,-6887 8052,-6945\"/>\n<text text-anchor=\"middle\" x=\"7920\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape0</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape1 -->\n<g id=\"node9\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape1</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"8334,-6945 8070,-6945 8070,-6887 8334,-6887 8334,-6945\"/>\n<text text-anchor=\"middle\" x=\"8202\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape1</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape2 -->\n<g id=\"node10\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape2</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"8616,-6945 8352,-6945 8352,-6887 8616,-6887 8616,-6945\"/>\n<text text-anchor=\"middle\" x=\"8484\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape2</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape3 -->\n<g id=\"node11\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape3</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"8898,-6945 8634,-6945 8634,-6887 8898,-6887 8898,-6945\"/>\n<text text-anchor=\"middle\" x=\"8766\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape3</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape4 -->\n<g id=\"node12\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape4</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"9180,-6945 8916,-6945 8916,-6887 9180,-6887 9180,-6945\"/>\n<text text-anchor=\"middle\" x=\"9048\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape4</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape5 -->\n<g id=\"node13\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape5</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"9462,-6945 9198,-6945 9198,-6887 9462,-6887 9462,-6945\"/>\n<text text-anchor=\"middle\" x=\"9330\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape5</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape6 -->\n<g id=\"node14\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape6</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"9744,-6945 9480,-6945 9480,-6887 9744,-6887 9744,-6945\"/>\n<text text-anchor=\"middle\" x=\"9612\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape6</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape7 -->\n<g id=\"node15\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape7</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"10026,-6945 9762,-6945 9762,-6887 10026,-6887 10026,-6945\"/>\n<text text-anchor=\"middle\" x=\"9894\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape7</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape8 -->\n<g id=\"node16\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape8</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"5753,-6945 5489,-6945 5489,-6887 5753,-6887 5753,-6945\"/>\n<text text-anchor=\"middle\" x=\"5621\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape8</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape9 -->\n<g id=\"node17\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape9</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"6035,-6945 5771,-6945 5771,-6887 6035,-6887 6035,-6945\"/>\n<text text-anchor=\"middle\" x=\"5903\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape9</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape10 -->\n<g id=\"node18\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape10</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"6324.5,-6945 6053.5,-6945 6053.5,-6887 6324.5,-6887 6324.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"6189\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape10</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape11 -->\n<g id=\"node19\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape11</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"6613.5,-6945 6342.5,-6945 6342.5,-6887 6613.5,-6887 6613.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"6478\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape11</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape12 -->\n<g id=\"node20\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape12</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"6902.5,-6945 6631.5,-6945 6631.5,-6887 6902.5,-6887 6902.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"6767\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape12</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape13 -->\n<g id=\"node21\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape13</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"7191.5,-6945 6920.5,-6945 6920.5,-6887 7191.5,-6887 7191.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"7056\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape13</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape14 -->\n<g id=\"node22\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape14</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"7480.5,-6945 7209.5,-6945 7209.5,-6887 7480.5,-6887 7480.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"7345\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape14</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_reshape15 -->\n<g id=\"node23\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_reshape15</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"7769.5,-6945 7498.5,-6945 7498.5,-6887 7769.5,-6887 7769.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"7634\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_reshape15</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0 -->\n<g id=\"node24\" class=\"node\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"7799.5,-7054 7468.5,-7054 7468.5,-6996 7799.5,-6996 7799.5,-7054\"/>\n<text text-anchor=\"middle\" x=\"7634\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0__rnn_param_concat0</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape0 -->\n<g id=\"edge6\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7718.62,-6992.34C7758.67,-6977.36 7806.1,-6959.61 7844.86,-6945.11\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7709.14,-6995.89 7716.93,-6988.17 7713.83,-6994.13 7718.51,-6992.38 7718.51,-6992.38 7718.51,-6992.38 7713.83,-6994.13 7720.09,-6996.6 7709.14,-6995.89 7709.14,-6995.89\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape1 -->\n<g id=\"edge7\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7798.34,-6994.11C7877.74,-6979.54 7974.38,-6961.61 8061,-6945 8063.94,-6944.44 8066.92,-6943.86 8069.92,-6943.28\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7788.25,-6995.96 7797.28,-6989.73 7793.17,-6995.06 7798.09,-6994.16 7798.09,-6994.16 7798.09,-6994.16 7793.17,-6995.06 7798.9,-6998.59 7788.25,-6995.96 7788.25,-6995.96\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape2 -->\n<g id=\"edge8\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape2</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7809.74,-6995.94C8047.21,-6966.19 8110.34,-6979.12 8343,-6945 8345.96,-6944.57 8348.96,-6944.11 8351.98,-6943.64\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7799.76,-6997.2 7809.12,-6991.48 7804.73,-6996.58 7809.69,-6995.95 7809.69,-6995.95 7809.69,-6995.95 7804.73,-6996.58 7810.25,-7000.41 7799.76,-6997.2 7799.76,-6997.2\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape3 -->\n<g id=\"edge9\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape3</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7809.8,-6995.96C7941.25,-6981.82 7976.1,-6985.95 8104,-6978 8335.57,-6963.6 8394.93,-6975 8625,-6945 8627.97,-6944.61 8630.97,-6944.2 8633.99,-6943.77\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7799.75,-6997.06 7809.2,-6991.5 7804.72,-6996.52 7809.69,-6995.97 7809.69,-6995.97 7809.69,-6995.97 7804.72,-6996.52 7810.18,-7000.45 7799.75,-6997.06 7799.75,-6997.06\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape4 -->\n<g id=\"edge10\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape4</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7809.99,-6995.96C8022.75,-6975.52 8078.51,-6987.52 8288,-6978 8563.22,-6965.49 8633.64,-6979.25 8907,-6945 8909.97,-6944.63 8912.97,-6944.23 8916,-6943.81\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7799.74,-6996.96 7809.25,-6991.51 7804.71,-6996.48 7809.69,-6995.99 7809.69,-6995.99 7809.69,-6995.99 7804.71,-6996.48 7810.13,-7000.47 7799.74,-6996.96 7799.74,-6996.96\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape5 -->\n<g id=\"edge11\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape5</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7810.11,-6995.96C8125.96,-6967.42 8208.07,-6989.68 8521,-6978 8818.04,-6966.91 8893.98,-6981.38 9189,-6945 9191.85,-6944.65 9194.73,-6944.27 9197.62,-6943.87\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7799.73,-6996.91 7809.28,-6991.52 7804.71,-6996.45 7809.69,-6996 7809.69,-6996 7809.69,-6996 7804.71,-6996.45 7810.1,-7000.48 7799.73,-6996.91 7799.73,-6996.91\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape6 -->\n<g id=\"edge12\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape6</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7809.77,-6996.02C8039.25,-6977.18 8565.9,-6985.02 8778,-6978 9086.18,-6967.8 9164.94,-6982.47 9471,-6945 9473.85,-6944.65 9476.73,-6944.28 9479.62,-6943.88\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7799.73,-6996.88 7809.31,-6991.54 7804.71,-6996.45 7809.69,-6996.03 7809.69,-6996.03 7809.69,-6996.03 7804.71,-6996.45 7810.08,-7000.51 7799.73,-6996.88 7799.73,-6996.88\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape7 -->\n<g id=\"edge13\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape7</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7809.83,-6996.01C8098.49,-6972.58 8772.87,-6986.28 9044,-6978 9359.31,-6968.37 9439.86,-6983.16 9753,-6945 9755.85,-6944.65 9758.73,-6944.28 9761.62,-6943.89\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7799.73,-6996.86 7809.32,-6991.54 7804.71,-6996.44 7809.69,-6996.02 7809.69,-6996.02 7809.69,-6996.02 7804.71,-6996.44 7810.07,-7000.51 7799.73,-6996.86 7799.73,-6996.86\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape8 -->\n<g id=\"edge14\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape8</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7458.48,-7019.26C7132.54,-7010.31 6445.32,-6990.67 6207,-6978 6008.96,-6967.47 5958.52,-6971.7 5762,-6945 5759.03,-6944.6 5756.03,-6944.17 5753.01,-6943.72\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7468.49,-7019.54 7458.37,-7023.76 7463.49,-7019.4 7458.49,-7019.26 7458.49,-7019.26 7458.49,-7019.26 7463.49,-7019.4 7458.62,-7014.76 7468.49,-7019.54 7468.49,-7019.54\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape9 -->\n<g id=\"edge15\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape9</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7458.17,-7018.53C7235.85,-7011.22 6841.38,-6996.96 6504,-6978 6299.35,-6966.5 6247.14,-6972.35 6044,-6945 6041.03,-6944.6 6038.03,-6944.18 6035.01,-6943.73\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7468.3,-7018.86 7458.15,-7023.03 7463.3,-7018.7 7458.3,-7018.53 7458.3,-7018.53 7458.3,-7018.53 7463.3,-7018.7 7458.45,-7014.03 7468.3,-7018.86 7468.3,-7018.86\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape10 -->\n<g id=\"edge16\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape10</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7458.16,-7021.34C7207.41,-7015.73 6733.15,-6998.38 6333,-6945 6330.22,-6944.63 6327.42,-6944.24 6324.6,-6943.83\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7468.45,-7021.57 7458.36,-7025.84 7463.46,-7021.46 7458.46,-7021.35 7458.46,-7021.35 7458.46,-7021.35 7463.46,-7021.46 7458.56,-7016.85 7468.45,-7021.57 7468.45,-7021.57\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape11 -->\n<g id=\"edge17\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape11</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7458.23,-7016.29C7256.05,-7006.03 6914.46,-6984.41 6623,-6945 6619.95,-6944.59 6616.87,-6944.15 6613.76,-6943.7\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7468.34,-7016.8 7458.13,-7020.79 7463.35,-7016.55 7458.36,-7016.3 7458.36,-7016.3 7458.36,-7016.3 7463.35,-7016.55 7458.58,-7011.8 7468.34,-7016.8 7468.34,-7016.8\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape12 -->\n<g id=\"edge18\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape12</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7458.27,-7008.82C7311.75,-6995.2 7097.72,-6973.04 6912,-6945 6908.96,-6944.54 6905.88,-6944.06 6902.78,-6943.57\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7468.26,-7009.75 7457.89,-7013.31 7463.28,-7009.29 7458.3,-7008.83 7458.3,-7008.83 7458.3,-7008.83 7463.28,-7009.29 7458.72,-7004.34 7468.26,-7009.75 7468.26,-7009.75\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape13 -->\n<g id=\"edge19\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape13</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7467.86,-6994.1C7387.26,-6979.49 7289.05,-6961.53 7201,-6945 7197.98,-6944.43 7194.92,-6943.86 7191.83,-6943.27\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7478.11,-6995.96 7467.46,-6998.6 7473.19,-6995.07 7468.27,-6994.17 7468.27,-6994.17 7468.27,-6994.17 7473.19,-6995.07 7469.07,-6989.75 7478.11,-6995.96 7478.11,-6995.96\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape14 -->\n<g id=\"edge20\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape14</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7548.47,-6992.33C7507.92,-6977.32 7459.88,-6959.54 7420.67,-6945.02\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7558.07,-6995.89 7547.13,-6996.63 7553.38,-6994.15 7548.69,-6992.41 7548.69,-6992.41 7548.69,-6992.41 7553.38,-6994.15 7550.25,-6988.19 7558.07,-6995.89 7558.07,-6995.89\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape15 -->\n<g id=\"edge21\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm0_reshape15</title>\n<path fill=\"none\" stroke=\"black\" d=\"M7634,-6985.58C7634,-6972.28 7634,-6957.63 7634,-6945.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"7634,-6995.89 7629.5,-6985.89 7634,-6990.89 7634,-6985.89 7634,-6985.89 7634,-6985.89 7634,-6990.89 7638.5,-6985.89 7634,-6995.89 7634,-6995.89\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_0 -->\n<g id=\"node25\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"8260.5,-7054 7817.5,-7054 7817.5,-6996 8260.5,-6996 8260.5,-7054\"/>\n<text text-anchor=\"middle\" x=\"8039\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_0</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_1 -->\n<g id=\"node26\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_1</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6406.5,-7054 5963.5,-7054 5963.5,-6996 6406.5,-6996 6406.5,-7054\"/>\n<text text-anchor=\"middle\" x=\"6185\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_1</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_rnn0 -->\n<g id=\"node27\" class=\"node\"><title>dssmrecommendernetwork0_lstm0_rnn0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6663.5,-7163 6422.5,-7163 6422.5,-7105 6663.5,-7105 6663.5,-7163\"/>\n<text text-anchor=\"middle\" x=\"6543\" y=\"-7130.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm0_rnn0</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_transpose0 -->\n<g id=\"edge22\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_transpose0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6543,-7094.58C6543,-7081.28 6543,-7066.63 6543,-7054.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6543,-7104.89 6538.5,-7094.89 6543,-7099.89 6543,-7094.89 6543,-7094.89 6543,-7094.89 6543,-7099.89 6547.5,-7094.89 6543,-7104.89 6543,-7104.89\"/>\n<text text-anchor=\"middle\" x=\"6560\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0__rnn_param_concat0 -->\n<g id=\"edge23\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0__rnn_param_concat0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6673.87,-7120.16C6872.73,-7100.66 7250.81,-7063.58 7468.48,-7042.23\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6663.66,-7121.17 6673.18,-7115.71 6668.64,-7120.68 6673.61,-7120.19 6673.61,-7120.19 6673.61,-7120.19 6668.64,-7120.68 6674.05,-7124.67 6663.66,-7121.17 6663.66,-7121.17\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_0 -->\n<g id=\"edge24\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6673.7,-7127.38C6903.6,-7116.94 7395.2,-7092.06 7809,-7054 7811.8,-7053.74 7814.63,-7053.48 7817.46,-7053.21\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6663.63,-7127.84 6673.41,-7122.89 6668.62,-7127.61 6673.62,-7127.39 6673.62,-7127.39 6673.62,-7127.39 6668.62,-7127.61 6673.82,-7131.88 6663.63,-7127.84 6663.63,-7127.84\"/>\n<text text-anchor=\"middle\" x=\"7584\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_1 -->\n<g id=\"edge25\" class=\"edge\"><title>dssmrecommendernetwork0_lstm0_rnn0&#45;&gt;dssmrecommendernetwork0_lstm0_dssmrecommendernetwork0_lstm0_h0_1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6439.27,-7102C6388.57,-7086.84 6328.03,-7068.75 6278.74,-7054.02\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6448.94,-7104.89 6438.07,-7106.33 6444.15,-7103.46 6439.36,-7102.02 6439.36,-7102.02 6439.36,-7102.02 6444.15,-7103.46 6440.65,-7097.71 6448.94,-7104.89 6448.94,-7104.89\"/>\n<text text-anchor=\"middle\" x=\"6403\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n</g>\n<!-- dssmrecommendernetwork0_mean0 -->\n<g id=\"node28\" class=\"node\"><title>dssmrecommendernetwork0_mean0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6650.5,-7272 6435.5,-7272 6435.5,-7214 6650.5,-7214 6650.5,-7272\"/>\n<text text-anchor=\"middle\" x=\"6543\" y=\"-7239.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_mean0</text>\n</g>\n<!-- dssmrecommendernetwork0_mean0&#45;&gt;dssmrecommendernetwork0_lstm0_rnn0 -->\n<g id=\"edge26\" class=\"edge\"><title>dssmrecommendernetwork0_mean0&#45;&gt;dssmrecommendernetwork0_lstm0_rnn0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6543,-7203.58C6543,-7190.28 6543,-7175.63 6543,-7163.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6543,-7213.89 6538.5,-7203.89 6543,-7208.89 6543,-7203.89 6543,-7203.89 6543,-7203.89 6543,-7208.89 6547.5,-7203.89 6543,-7213.89 6543,-7213.89\"/>\n<text text-anchor=\"middle\" x=\"6560\" y=\"-7184.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x256</text>\n</g>\n<!-- dssmrecommendernetwork0_dense1_fwd -->\n<g id=\"node29\" class=\"node\"><title>dssmrecommendernetwork0_dense1_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"6523.5,-7381 6420.5,-7381 6420.5,-7323 6523.5,-7323 6523.5,-7381\"/>\n<text text-anchor=\"middle\" x=\"6472\" y=\"-7355.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n<text text-anchor=\"middle\" x=\"6472\" y=\"-7340.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_dense1_fwd&#45;&gt;dssmrecommendernetwork0_mean0 -->\n<g id=\"edge27\" class=\"edge\"><title>dssmrecommendernetwork0_dense1_fwd&#45;&gt;dssmrecommendernetwork0_mean0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6496.19,-7314.55C6505.35,-7300.74 6515.63,-7285.24 6524.22,-7272.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6490.65,-7322.89 6492.43,-7312.07 6493.42,-7318.72 6496.18,-7314.55 6496.18,-7314.55 6496.18,-7314.55 6493.42,-7318.72 6499.93,-7317.04 6490.65,-7322.89 6490.65,-7322.89\"/>\n<text text-anchor=\"middle\" x=\"6521.5\" y=\"-7293.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n</g>\n<!-- dssmrecommendernetwork0_dense1_relu_fwd -->\n<g id=\"node30\" class=\"node\"><title>dssmrecommendernetwork0_dense1_relu_fwd</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"6443,-7490 6349,-7490 6349,-7432 6443,-7432 6443,-7490\"/>\n<text text-anchor=\"middle\" x=\"6396\" y=\"-7464.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"6396\" y=\"-7449.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_dense1_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense1_fwd -->\n<g id=\"edge28\" class=\"edge\"><title>dssmrecommendernetwork0_dense1_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6421.89,-7423.55C6431.7,-7409.74 6442.71,-7394.24 6451.9,-7381.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6415.97,-7431.89 6418.09,-7421.13 6418.86,-7427.81 6421.76,-7423.73 6421.76,-7423.73 6421.76,-7423.73 6418.86,-7427.81 6425.43,-7426.34 6415.97,-7431.89 6415.97,-7431.89\"/>\n<text text-anchor=\"middle\" x=\"6449.5\" y=\"-7402.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_concat0 -->\n<g id=\"node31\" class=\"node\"><title>dssmrecommendernetwork0_concat0</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"6390.5,-7599 6169.5,-7599 6169.5,-7541 6390.5,-7541 6390.5,-7599\"/>\n<text text-anchor=\"middle\" x=\"6280\" y=\"-7566.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_concat0</text>\n</g>\n<!-- dssmrecommendernetwork0_concat0&#45;&gt;dssmrecommendernetwork0_dense0_relu_fwd -->\n<g id=\"edge29\" class=\"edge\"><title>dssmrecommendernetwork0_concat0&#45;&gt;dssmrecommendernetwork0_dense0_relu_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6280,-7530.58C6280,-7517.28 6280,-7502.63 6280,-7490.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6280,-7540.89 6275.5,-7530.89 6280,-7535.89 6280,-7530.89 6280,-7530.89 6280,-7530.89 6280,-7535.89 6284.5,-7530.89 6280,-7540.89 6280,-7540.89\"/>\n<text text-anchor=\"middle\" x=\"6290.5\" y=\"-7511.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_concat0&#45;&gt;dssmrecommendernetwork0_dense1_relu_fwd -->\n<g id=\"edge30\" class=\"edge\"><title>dssmrecommendernetwork0_concat0&#45;&gt;dssmrecommendernetwork0_dense1_relu_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6317.83,-7534.1C6333.21,-7519.91 6350.76,-7503.73 6365.32,-7490.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6310.48,-7540.89 6314.78,-7530.8 6314.15,-7537.5 6317.83,-7534.11 6317.83,-7534.11 6317.83,-7534.11 6314.15,-7537.5 6320.88,-7537.41 6310.48,-7540.89 6310.48,-7540.89\"/>\n<text text-anchor=\"middle\" x=\"6355.5\" y=\"-7511.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_dropout0_fwd -->\n<g id=\"node32\" class=\"node\"><title>dssmrecommendernetwork0_dropout0_fwd</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"6407.5,-7708 6152.5,-7708 6152.5,-7650 6407.5,-7650 6407.5,-7708\"/>\n<text text-anchor=\"middle\" x=\"6280\" y=\"-7675.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_dropout0_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_dropout0_fwd&#45;&gt;dssmrecommendernetwork0_concat0 -->\n<g id=\"edge31\" class=\"edge\"><title>dssmrecommendernetwork0_dropout0_fwd&#45;&gt;dssmrecommendernetwork0_concat0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6280,-7639.58C6280,-7626.28 6280,-7611.63 6280,-7599.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6280,-7649.89 6275.5,-7639.89 6280,-7644.89 6280,-7639.89 6280,-7639.89 6280,-7639.89 6280,-7644.89 6284.5,-7639.89 6280,-7649.89 6280,-7649.89\"/>\n<text text-anchor=\"middle\" x=\"6290.5\" y=\"-7620.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n</g>\n<!-- dssmrecommendernetwork0_dense2_fwd -->\n<g id=\"node33\" class=\"node\"><title>dssmrecommendernetwork0_dense2_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"6327.5,-7817 6224.5,-7817 6224.5,-7759 6327.5,-7759 6327.5,-7817\"/>\n<text text-anchor=\"middle\" x=\"6276\" y=\"-7791.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n<text text-anchor=\"middle\" x=\"6276\" y=\"-7776.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_dense2_fwd&#45;&gt;dssmrecommendernetwork0_dropout0_fwd -->\n<g id=\"edge32\" class=\"edge\"><title>dssmrecommendernetwork0_dense2_fwd&#45;&gt;dssmrecommendernetwork0_dropout0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6277.44,-7748.58C6277.93,-7735.28 6278.48,-7720.63 6278.94,-7708.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6277.05,-7758.89 6272.93,-7748.73 6277.24,-7753.89 6277.42,-7748.89 6277.42,-7748.89 6277.42,-7748.89 6277.24,-7753.89 6281.92,-7749.06 6277.05,-7758.89 6277.05,-7758.89\"/>\n<text text-anchor=\"middle\" x=\"6289.5\" y=\"-7729.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n</g>\n<!-- dssmrecommendernetwork0_dense2_relu_fwd -->\n<g id=\"node34\" class=\"node\"><title>dssmrecommendernetwork0_dense2_relu_fwd</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"6262,-7926 6168,-7926 6168,-7868 6262,-7868 6262,-7926\"/>\n<text text-anchor=\"middle\" x=\"6215\" y=\"-7900.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"6215\" y=\"-7885.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_dense2_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense2_fwd -->\n<g id=\"edge33\" class=\"edge\"><title>dssmrecommendernetwork0_dense2_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M6236,-7859.16C6243.82,-7845.45 6252.56,-7830.12 6259.87,-7817.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"6231.03,-7867.89 6232.07,-7856.97 6233.5,-7863.54 6235.98,-7859.2 6235.98,-7859.2 6235.98,-7859.2 6233.5,-7863.54 6239.89,-7861.43 6231.03,-7867.89 6231.03,-7867.89\"/>\n<text text-anchor=\"middle\" x=\"6260.5\" y=\"-7838.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_expand_dims0 -->\n<g id=\"node35\" class=\"node\"><title>dssmrecommendernetwork0_expand_dims0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5753,-8035 5495,-8035 5495,-7977 5753,-7977 5753,-8035\"/>\n<text text-anchor=\"middle\" x=\"5624\" y=\"-8002.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_expand_dims0</text>\n</g>\n<!-- dssmrecommendernetwork0_expand_dims0&#45;&gt;dssmrecommendernetwork0_dense2_relu_fwd -->\n<g id=\"edge34\" class=\"edge\"><title>dssmrecommendernetwork0_expand_dims0&#45;&gt;dssmrecommendernetwork0_dense2_relu_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5763.4,-7979.76C5893.78,-7956.16 6081.01,-7922.26 6167.67,-7906.57\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5753.33,-7981.58 5762.37,-7975.37 5758.25,-7980.69 5763.17,-7979.8 5763.17,-7979.8 5763.17,-7979.8 5758.25,-7980.69 5763.97,-7984.23 5753.33,-7981.58 5753.33,-7981.58\"/>\n<text text-anchor=\"middle\" x=\"5965.5\" y=\"-7947.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- title -->\n<g id=\"node36\" class=\"node\"><title>title</title>\n<ellipse fill=\"#8dd3c7\" stroke=\"black\" cx=\"137\" cy=\"-6807\" rx=\"47\" ry=\"29\"/>\n<text text-anchor=\"middle\" x=\"137\" y=\"-6803.3\" font-family=\"Times,serif\" font-size=\"14.00\">title</text>\n</g>\n<!-- dssmrecommendernetwork0_embedding2_fwd -->\n<g id=\"node37\" class=\"node\"><title>dssmrecommendernetwork0_embedding2_fwd</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"274,-6945 0,-6945 0,-6887 274,-6887 274,-6945\"/>\n<text text-anchor=\"middle\" x=\"137\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_embedding2_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_embedding2_fwd&#45;&gt;title -->\n<g id=\"edge35\" class=\"edge\"><title>dssmrecommendernetwork0_embedding2_fwd&#45;&gt;title</title>\n<path fill=\"none\" stroke=\"black\" d=\"M137,-6876.58C137,-6863.28 137,-6848.63 137,-6836.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"137,-6886.89 132.5,-6876.89 137,-6881.89 137,-6876.89 137,-6876.89 137,-6876.89 137,-6881.89 141.5,-6876.89 137,-6886.89 137,-6886.89\"/>\n<text text-anchor=\"middle\" x=\"144\" y=\"-6857.8\" font-family=\"Times,serif\" font-size=\"14.00\">30</text>\n</g>\n<!-- dssmrecommendernetwork0_transpose1 -->\n<g id=\"node38\" class=\"node\"><title>dssmrecommendernetwork0_transpose1</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"2391,-7054 2155,-7054 2155,-6996 2391,-6996 2391,-7054\"/>\n<text text-anchor=\"middle\" x=\"2273\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_transpose1</text>\n</g>\n<!-- dssmrecommendernetwork0_transpose1&#45;&gt;dssmrecommendernetwork0_embedding2_fwd -->\n<g id=\"edge36\" class=\"edge\"><title>dssmrecommendernetwork0_transpose1&#45;&gt;dssmrecommendernetwork0_embedding2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2145.31,-6996.03C2145.2,-6996.02 2145.1,-6996.01 2145,-6996 1948.91,-6973.8 564.584,-7004.29 369,-6978 319.882,-6971.4 266.298,-6957.75 223.013,-6945.04\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2154.94,-6997.25 2144.45,-7000.46 2149.97,-6996.62 2145.01,-6996 2145.01,-6996 2145.01,-6996 2149.97,-6996.62 2145.58,-6991.53 2154.94,-6997.25 2154.94,-6997.25\"/>\n<text text-anchor=\"middle\" x=\"389.5\" y=\"-6966.8\" font-family=\"Times,serif\" font-size=\"14.00\">30x128</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape0 -->\n<g id=\"node39\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape0</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"3137,-6945 2873,-6945 2873,-6887 3137,-6887 3137,-6945\"/>\n<text text-anchor=\"middle\" x=\"3005\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape0</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape1 -->\n<g id=\"node40\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape1</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"3419,-6945 3155,-6945 3155,-6887 3419,-6887 3419,-6945\"/>\n<text text-anchor=\"middle\" x=\"3287\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape1</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape2 -->\n<g id=\"node41\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape2</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"3701,-6945 3437,-6945 3437,-6887 3701,-6887 3701,-6945\"/>\n<text text-anchor=\"middle\" x=\"3569\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape2</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape3 -->\n<g id=\"node42\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape3</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"3983,-6945 3719,-6945 3719,-6887 3983,-6887 3983,-6945\"/>\n<text text-anchor=\"middle\" x=\"3851\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape3</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape4 -->\n<g id=\"node43\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape4</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"4265,-6945 4001,-6945 4001,-6887 4265,-6887 4265,-6945\"/>\n<text text-anchor=\"middle\" x=\"4133\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape4</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape5 -->\n<g id=\"node44\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape5</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"4547,-6945 4283,-6945 4283,-6887 4547,-6887 4547,-6945\"/>\n<text text-anchor=\"middle\" x=\"4415\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape5</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape6 -->\n<g id=\"node45\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape6</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"4829,-6945 4565,-6945 4565,-6887 4829,-6887 4829,-6945\"/>\n<text text-anchor=\"middle\" x=\"4697\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape6</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape7 -->\n<g id=\"node46\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape7</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"556,-6945 292,-6945 292,-6887 556,-6887 556,-6945\"/>\n<text text-anchor=\"middle\" x=\"424\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape7</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape8 -->\n<g id=\"node47\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape8</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"838,-6945 574,-6945 574,-6887 838,-6887 838,-6945\"/>\n<text text-anchor=\"middle\" x=\"706\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape8</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape9 -->\n<g id=\"node48\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape9</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"1120,-6945 856,-6945 856,-6887 1120,-6887 1120,-6945\"/>\n<text text-anchor=\"middle\" x=\"988\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape9</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape10 -->\n<g id=\"node49\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape10</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"1409.5,-6945 1138.5,-6945 1138.5,-6887 1409.5,-6887 1409.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"1274\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape10</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape11 -->\n<g id=\"node50\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape11</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"1698.5,-6945 1427.5,-6945 1427.5,-6887 1698.5,-6887 1698.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"1563\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape11</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape12 -->\n<g id=\"node51\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape12</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"1987.5,-6945 1716.5,-6945 1716.5,-6887 1987.5,-6887 1987.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"1852\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape12</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape13 -->\n<g id=\"node52\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape13</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"2276.5,-6945 2005.5,-6945 2005.5,-6887 2276.5,-6887 2276.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"2141\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape13</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape14 -->\n<g id=\"node53\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape14</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"2565.5,-6945 2294.5,-6945 2294.5,-6887 2565.5,-6887 2565.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"2430\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape14</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_reshape15 -->\n<g id=\"node54\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_reshape15</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"2854.5,-6945 2583.5,-6945 2583.5,-6887 2854.5,-6887 2854.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"2719\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_reshape15</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0 -->\n<g id=\"node55\" class=\"node\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"2740.5,-7054 2409.5,-7054 2409.5,-6996 2740.5,-6996 2740.5,-7054\"/>\n<text text-anchor=\"middle\" x=\"2575\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1__rnn_param_concat0</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape0 -->\n<g id=\"edge37\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2697.42,-6993.54C2758.7,-6978.29 2832.38,-6959.95 2892.26,-6945.05\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2687.7,-6995.96 2696.31,-6989.18 2692.55,-6994.75 2697.4,-6993.54 2697.4,-6993.54 2697.4,-6993.54 2692.55,-6994.75 2698.49,-6997.91 2687.7,-6995.96 2687.7,-6995.96\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape1 -->\n<g id=\"edge38\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2750.88,-6995.75C2926.79,-6970.64 2973.69,-6973.14 3146,-6945 3148.96,-6944.52 3151.94,-6944.02 3154.96,-6943.51\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2740.76,-6997.2 2750.02,-6991.33 2745.71,-6996.49 2750.66,-6995.78 2750.66,-6995.78 2750.66,-6995.78 2745.71,-6996.49 2751.3,-7000.23 2740.76,-6997.2 2740.76,-6997.2\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape2 -->\n<g id=\"edge39\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape2</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2750.76,-6995.86C2914.72,-6977.77 3281.15,-6965.02 3428,-6945 3430.97,-6944.6 3433.97,-6944.17 3436.99,-6943.72\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2740.73,-6997 2750.16,-6991.4 2745.7,-6996.43 2750.67,-6995.87 2750.67,-6995.87 2750.67,-6995.87 2745.7,-6996.43 2751.18,-7000.34 2740.73,-6997 2740.73,-6997\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape3 -->\n<g id=\"edge40\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape3</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2751.12,-6995.83C2914.07,-6979.24 2957.39,-6986.39 3118,-6978 3381.16,-6964.25 3448.56,-6978.08 3710,-6945 3712.97,-6944.62 3715.97,-6944.22 3719,-6943.8\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2740.72,-6996.9 2750.21,-6991.4 2745.69,-6996.39 2750.67,-6995.87 2750.67,-6995.87 2750.67,-6995.87 2745.69,-6996.39 2751.13,-7000.35 2740.72,-6996.9 2740.72,-6996.9\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape4 -->\n<g id=\"edge41\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape4</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2750.85,-6995.88C3010.99,-6971.62 3079.07,-6988.44 3337,-6978 3628.24,-6966.21 3702.73,-6980.82 3992,-6945 3994.85,-6944.65 3997.73,-6944.27 4000.62,-6943.87\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2740.71,-6996.83 2750.25,-6991.41 2745.69,-6996.36 2750.67,-6995.89 2750.67,-6995.89 2750.67,-6995.89 2745.69,-6996.36 2751.09,-7000.37 2740.71,-6996.83 2740.71,-6996.83\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape5 -->\n<g id=\"edge42\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape5</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2750.68,-6995.9C3123.03,-6962.72 3219.65,-6990.89 3590,-6978 3894.17,-6967.41 3971.91,-6982.08 4274,-6945 4276.85,-6944.65 4279.73,-6944.28 4282.62,-6943.88\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2740.71,-6996.8 2750.27,-6991.42 2745.69,-6996.35 2750.67,-6995.9 2750.67,-6995.9 2750.67,-6995.9 2745.69,-6996.35 2751.07,-7000.38 2740.71,-6996.8 2740.71,-6996.8\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape6 -->\n<g id=\"edge43\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape6</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2750.9,-6995.91C3009.79,-6974.73 3611.77,-6985.66 3854,-6978 4166.19,-6968.12 4245.96,-6982.86 4556,-6945 4558.85,-6944.65 4561.73,-6944.28 4564.62,-6943.88\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2740.71,-6996.78 2750.29,-6991.45 2745.69,-6996.35 2750.67,-6995.93 2750.67,-6995.93 2750.67,-6995.93 2745.69,-6996.35 2751.05,-7000.41 2740.71,-6996.78 2740.71,-6996.78\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape7 -->\n<g id=\"edge44\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape7</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2398.85,-6995.99C2074.02,-6969.88 1309.84,-6991.52 1003,-6978 807.971,-6969.4 758.426,-6971.39 565,-6945 562.033,-6944.6 559.034,-6944.17 556.013,-6943.72\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2409.27,-6996.85 2398.93,-7000.51 2404.29,-6996.44 2399.31,-6996.03 2399.31,-6996.03 2399.31,-6996.03 2404.29,-6996.44 2399.68,-6991.54 2409.27,-6996.85 2409.27,-6996.85\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape8 -->\n<g id=\"edge45\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape8</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2398.98,-6996C2137.55,-6974.81 1531.63,-6989.08 1288,-6978 1091.65,-6969.07 1041.75,-6971.52 847,-6945 844.033,-6944.6 841.033,-6944.17 838.012,-6943.72\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2409.27,-6996.87 2398.93,-7000.51 2404.29,-6996.45 2399.31,-6996.03 2399.31,-6996.03 2399.31,-6996.03 2404.29,-6996.45 2399.68,-6991.54 2409.27,-6996.87 2409.27,-6996.87\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape9 -->\n<g id=\"edge46\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape9</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2399.22,-6995.99C2034.36,-6963.64 1939.71,-6995.24 1578,-6978 1378.13,-6968.47 1327.28,-6971.87 1129,-6945 1126.03,-6944.6 1123.03,-6944.17 1120.01,-6943.73\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2409.27,-6996.89 2398.91,-7000.48 2404.29,-6996.45 2399.31,-6996 2399.31,-6996 2399.31,-6996 2404.29,-6996.45 2399.71,-6991.52 2409.27,-6996.89 2409.27,-6996.89\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape10 -->\n<g id=\"edge47\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape10</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2399.01,-6995.97C2163.67,-6973.82 2102.02,-6990.41 1870,-6978 1668.86,-6967.25 1617.66,-6971.6 1418,-6945 1415.22,-6944.63 1412.42,-6944.24 1409.59,-6943.83\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2409.26,-6996.94 2398.88,-7000.47 2404.29,-6996.47 2399.31,-6995.99 2399.31,-6995.99 2399.31,-6995.99 2404.29,-6996.47 2399.74,-6991.51 2409.26,-6996.94 2409.26,-6996.94\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape11 -->\n<g id=\"edge48\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape11</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2399.1,-6995.95C2276.58,-6982.54 2243.94,-6986.59 2125,-6978 1939.13,-6964.58 1891.65,-6970.16 1707,-6945 1704.22,-6944.62 1701.42,-6944.22 1698.6,-6943.81\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2409.25,-6997.08 2398.81,-7000.45 2404.28,-6996.53 2399.31,-6995.97 2399.31,-6995.97 2399.31,-6995.97 2404.28,-6996.53 2399.81,-6991.5 2409.25,-6997.08 2409.25,-6997.08\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape12 -->\n<g id=\"edge49\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape12</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2399.15,-6995.9C2219.13,-6970.47 2171.47,-6973.1 1996,-6945 1993.23,-6944.56 1990.44,-6944.1 1987.62,-6943.63\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2409.22,-6997.33 2398.68,-7000.38 2404.27,-6996.63 2399.32,-6995.92 2399.32,-6995.92 2399.32,-6995.92 2404.27,-6996.63 2399.95,-6991.47 2409.22,-6997.33 2409.22,-6997.33\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape13 -->\n<g id=\"edge50\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape13</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2451.44,-6993.54C2389.59,-6978.29 2315.23,-6959.95 2254.79,-6945.05\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2461.26,-6995.96 2450.47,-6997.93 2456.4,-6994.76 2451.55,-6993.56 2451.55,-6993.56 2451.55,-6993.56 2456.4,-6994.76 2452.62,-6989.19 2461.26,-6995.96 2461.26,-6995.96\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape14 -->\n<g id=\"edge51\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape14</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2528.72,-6989.85C2509.17,-6975.42 2486.67,-6958.82 2468.09,-6945.11\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2536.9,-6995.89 2526.18,-6993.57 2532.88,-6992.92 2528.86,-6989.95 2528.86,-6989.95 2528.86,-6989.95 2532.88,-6992.92 2531.53,-6986.33 2536.9,-6995.89 2536.9,-6995.89\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape15 -->\n<g id=\"edge52\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1__rnn_param_concat0&#45;&gt;dssmrecommendernetwork0_lstm1_reshape15</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2620.93,-6989.87C2640.27,-6975.5 2662.51,-6958.98 2680.92,-6945.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2612.83,-6995.89 2618.18,-6986.31 2616.85,-6992.9 2620.86,-6989.92 2620.86,-6989.92 2620.86,-6989.92 2616.85,-6992.9 2623.54,-6993.53 2612.83,-6995.89 2612.83,-6995.89\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_0 -->\n<g id=\"node56\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"3201.5,-7054 2758.5,-7054 2758.5,-6996 3201.5,-6996 3201.5,-7054\"/>\n<text text-anchor=\"middle\" x=\"2980\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_0</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_1 -->\n<g id=\"node57\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_1</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"2136.5,-7054 1693.5,-7054 1693.5,-6996 2136.5,-6996 2136.5,-7054\"/>\n<text text-anchor=\"middle\" x=\"1915\" y=\"-7021.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_1</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_rnn0 -->\n<g id=\"node58\" class=\"node\"><title>dssmrecommendernetwork0_lstm1_rnn0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"2695.5,-7163 2454.5,-7163 2454.5,-7105 2695.5,-7105 2695.5,-7163\"/>\n<text text-anchor=\"middle\" x=\"2575\" y=\"-7130.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_lstm1_rnn0</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_transpose1 -->\n<g id=\"edge53\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_transpose1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2486.16,-7101.52C2443.67,-7086.47 2393.23,-7068.6 2352.08,-7054.02\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2495.65,-7104.89 2484.72,-7105.79 2490.94,-7103.22 2486.23,-7101.55 2486.23,-7101.55 2486.23,-7101.55 2490.94,-7103.22 2487.73,-7097.31 2495.65,-7104.89 2495.65,-7104.89\"/>\n<text text-anchor=\"middle\" x=\"2460\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1__rnn_param_concat0 -->\n<g id=\"edge54\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1__rnn_param_concat0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2575,-7094.58C2575,-7081.28 2575,-7066.63 2575,-7054.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2575,-7104.89 2570.5,-7094.89 2575,-7099.89 2575,-7094.89 2575,-7094.89 2575,-7094.89 2575,-7099.89 2579.5,-7094.89 2575,-7104.89 2575,-7104.89\"/>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_0 -->\n<g id=\"edge55\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2691.02,-7102.35C2748.59,-7087.14 2817.65,-7068.89 2873.82,-7054.05\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2681.14,-7104.96 2689.66,-7098.05 2685.98,-7103.68 2690.81,-7102.4 2690.81,-7102.4 2690.81,-7102.4 2685.98,-7103.68 2691.96,-7106.75 2681.14,-7104.96 2681.14,-7104.96\"/>\n<text text-anchor=\"middle\" x=\"2819\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n</g>\n<!-- dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_1 -->\n<g id=\"edge56\" class=\"edge\"><title>dssmrecommendernetwork0_lstm1_rnn0&#45;&gt;dssmrecommendernetwork0_lstm1_dssmrecommendernetwork0_lstm1_h0_1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M2444.27,-7111.81C2342.22,-7095.26 2199.52,-7072.13 2088,-7054.05\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"2454.33,-7113.44 2443.74,-7116.28 2449.39,-7112.64 2444.46,-7111.84 2444.46,-7111.84 2444.46,-7111.84 2449.39,-7112.64 2445.18,-7107.39 2454.33,-7113.44 2454.33,-7113.44\"/>\n<text text-anchor=\"middle\" x=\"2302\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x128</text>\n</g>\n<!-- dssmrecommendernetwork0_mean1 -->\n<g id=\"node59\" class=\"node\"><title>dssmrecommendernetwork0_mean1</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"4330.5,-7272 4115.5,-7272 4115.5,-7214 4330.5,-7214 4330.5,-7272\"/>\n<text text-anchor=\"middle\" x=\"4223\" y=\"-7239.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_mean1</text>\n</g>\n<!-- dssmrecommendernetwork0_mean1&#45;&gt;dssmrecommendernetwork0_lstm1_rnn0 -->\n<g id=\"edge57\" class=\"edge\"><title>dssmrecommendernetwork0_mean1&#45;&gt;dssmrecommendernetwork0_lstm1_rnn0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4105.07,-7234.34C3802.54,-7214.7 3001.26,-7162.68 2695.7,-7142.84\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4115.19,-7235 4104.92,-7238.84 4110.2,-7234.68 4105.21,-7234.35 4105.21,-7234.35 4105.21,-7234.35 4110.2,-7234.68 4105.5,-7229.86 4115.19,-7235 4115.19,-7235\"/>\n<text text-anchor=\"middle\" x=\"3515\" y=\"-7184.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x256</text>\n</g>\n<!-- dssmrecommendernetwork0_dense3_fwd -->\n<g id=\"node60\" class=\"node\"><title>dssmrecommendernetwork0_dense3_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"4859.5,-7381 4756.5,-7381 4756.5,-7323 4859.5,-7323 4859.5,-7381\"/>\n<text text-anchor=\"middle\" x=\"4808\" y=\"-7355.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n<text text-anchor=\"middle\" x=\"4808\" y=\"-7340.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_dense3_fwd&#45;&gt;dssmrecommendernetwork0_mean1 -->\n<g id=\"edge58\" class=\"edge\"><title>dssmrecommendernetwork0_dense3_fwd&#45;&gt;dssmrecommendernetwork0_mean1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4746.22,-7339.7C4647.46,-7321.64 4452.75,-7286.02 4330.71,-7263.7\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4756.34,-7341.55 4745.7,-7344.18 4751.42,-7340.65 4746.5,-7339.75 4746.5,-7339.75 4746.5,-7339.75 4751.42,-7340.65 4747.31,-7335.33 4756.34,-7341.55 4756.34,-7341.55\"/>\n<text text-anchor=\"middle\" x=\"4561.5\" y=\"-7293.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n</g>\n<!-- dssmrecommendernetwork0_dense3_relu_fwd -->\n<g id=\"node61\" class=\"node\"><title>dssmrecommendernetwork0_dense3_relu_fwd</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"4944,-7490 4850,-7490 4850,-7432 4944,-7432 4944,-7490\"/>\n<text text-anchor=\"middle\" x=\"4897\" y=\"-7464.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"4897\" y=\"-7449.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_dense3_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense3_fwd -->\n<g id=\"edge59\" class=\"edge\"><title>dssmrecommendernetwork0_dense3_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense3_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4867,-7423.94C4855.44,-7410.03 4842.41,-7394.36 4831.54,-7381.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4873.62,-7431.89 4863.76,-7427.08 4870.42,-7428.04 4867.22,-7424.2 4867.22,-7424.2 4867.22,-7424.2 4870.42,-7428.04 4870.68,-7421.32 4873.62,-7431.89 4873.62,-7431.89\"/>\n<text text-anchor=\"middle\" x=\"4868.5\" y=\"-7402.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- image -->\n<g id=\"node62\" class=\"node\"><title>image</title>\n<ellipse fill=\"#8dd3c7\" stroke=\"black\" cx=\"5166\" cy=\"-29\" rx=\"47\" ry=\"29\"/>\n<text text-anchor=\"middle\" x=\"5166\" y=\"-25.3\" font-family=\"Times,serif\" font-size=\"14.00\">image</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_batchnorm0_fwd -->\n<g id=\"node63\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_batchnorm0_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5331.5,-167 5000.5,-167 5000.5,-109 5331.5,-109 5331.5,-167\"/>\n<text text-anchor=\"middle\" x=\"5166\" y=\"-134.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_batchnorm0_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_batchnorm0_fwd&#45;&gt;image -->\n<g id=\"edge60\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_batchnorm0_fwd&#45;&gt;image</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5166,-98.5824C5166,-85.2841 5166,-70.632 5166,-58.2967\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5166,-108.887 5161.5,-98.887 5166,-103.887 5166,-98.887 5166,-98.887 5166,-98.887 5166,-103.887 5170.5,-98.8871 5166,-108.887 5166,-108.887\"/>\n<text text-anchor=\"middle\" x=\"5196.5\" y=\"-79.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x224x224</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_conv0_fwd -->\n<g id=\"node64\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_conv0_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5213,-276 5119,-276 5119,-218 5213,-218 5213,-276\"/>\n<text text-anchor=\"middle\" x=\"5166\" y=\"-250.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5166\" y=\"-235.8\" font-family=\"Times,serif\" font-size=\"14.00\">7x7/2x2, 64</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm0_fwd -->\n<g id=\"edge61\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5166,-207.582C5166,-194.284 5166,-179.632 5166,-167.297\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5166,-217.887 5161.5,-207.887 5166,-212.887 5166,-207.887 5166,-207.887 5166,-207.887 5166,-212.887 5170.5,-207.887 5166,-217.887 5166,-217.887\"/>\n<text text-anchor=\"middle\" x=\"5196.5\" y=\"-188.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x224x224</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_batchnorm1_fwd -->\n<g id=\"node65\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_batchnorm1_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5331.5,-385 5000.5,-385 5000.5,-327 5331.5,-327 5331.5,-385\"/>\n<text text-anchor=\"middle\" x=\"5166\" y=\"-352.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_batchnorm1_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_conv0_fwd -->\n<g id=\"edge62\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_conv0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5166,-316.582C5166,-303.284 5166,-288.632 5166,-276.297\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5166,-326.887 5161.5,-316.887 5166,-321.887 5166,-316.887 5166,-316.887 5166,-316.887 5166,-321.887 5170.5,-316.887 5166,-326.887 5166,-326.887\"/>\n<text text-anchor=\"middle\" x=\"5200\" y=\"-297.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x112x112</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_relu0_fwd -->\n<g id=\"node66\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_relu0_fwd</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5213,-494 5119,-494 5119,-436 5213,-436 5213,-494\"/>\n<text text-anchor=\"middle\" x=\"5166\" y=\"-468.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5166\" y=\"-453.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_relu0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm1_fwd -->\n<g id=\"edge63\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_relu0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5166,-425.582C5166,-412.284 5166,-397.632 5166,-385.297\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5166,-435.887 5161.5,-425.887 5166,-430.887 5166,-425.887 5166,-425.887 5166,-425.887 5166,-430.887 5170.5,-425.887 5166,-435.887 5166,-435.887\"/>\n<text text-anchor=\"middle\" x=\"5200\" y=\"-406.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x112x112</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_pool0_fwd -->\n<g id=\"node67\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_pool0_fwd</title>\n<polygon fill=\"#80b1d3\" stroke=\"black\" points=\"5213,-603 5119,-603 5119,-545 5213,-545 5213,-603\"/>\n<text text-anchor=\"middle\" x=\"5166\" y=\"-577.8\" font-family=\"Times,serif\" font-size=\"14.00\">Pooling</text>\n<text text-anchor=\"middle\" x=\"5166\" y=\"-562.8\" font-family=\"Times,serif\" font-size=\"14.00\">max, 3x3/2x2</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_pool0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_relu0_fwd -->\n<g id=\"edge64\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_pool0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_relu0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5166,-534.582C5166,-521.284 5166,-506.632 5166,-494.297\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5166,-544.887 5161.5,-534.887 5166,-539.887 5166,-534.887 5166,-534.887 5166,-534.887 5166,-539.887 5170.5,-534.887 5166,-544.887 5166,-544.887\"/>\n<text text-anchor=\"middle\" x=\"5200\" y=\"-515.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x112x112</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd -->\n<g id=\"node68\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5209,-712 4837,-712 4837,-654 5209,-654 5209,-712\"/>\n<text text-anchor=\"middle\" x=\"5023\" y=\"-679.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_pool0_fwd -->\n<g id=\"edge65\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_pool0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5068.61,-647.874C5087.81,-633.503 5109.9,-616.975 5128.18,-603.297\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5060.57,-653.887 5065.88,-644.293 5064.57,-650.891 5068.58,-647.896 5068.58,-647.896 5068.58,-647.896 5064.57,-650.891 5071.27,-651.499 5060.57,-653.887 5060.57,-653.887\"/>\n<text text-anchor=\"middle\" x=\"5131.5\" y=\"-624.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_activation0 -->\n<g id=\"node69\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation0</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5070,-821 4976,-821 4976,-763 5070,-763 5070,-821\"/>\n<text text-anchor=\"middle\" x=\"5023\" y=\"-795.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5023\" y=\"-780.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd -->\n<g id=\"edge66\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5023,-752.582C5023,-739.284 5023,-724.632 5023,-712.297\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5023,-762.887 5018.5,-752.887 5023,-757.887 5023,-752.887 5023,-752.887 5023,-752.887 5023,-757.887 5027.5,-752.887 5023,-762.887 5023,-762.887\"/>\n<text text-anchor=\"middle\" x=\"5050.5\" y=\"-733.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd -->\n<g id=\"node70\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5070,-930 4976,-930 4976,-872 5070,-872 5070,-930\"/>\n<text text-anchor=\"middle\" x=\"5023\" y=\"-904.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5023\" y=\"-889.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 64</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation0 -->\n<g id=\"edge67\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5023,-861.582C5023,-848.284 5023,-833.632 5023,-821.297\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5023,-871.887 5018.5,-861.887 5023,-866.887 5023,-861.887 5023,-861.887 5023,-861.887 5023,-866.887 5027.5,-861.887 5023,-871.887 5023,-871.887\"/>\n<text text-anchor=\"middle\" x=\"5050.5\" y=\"-842.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd -->\n<g id=\"node71\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5209,-1039 4837,-1039 4837,-981 5209,-981 5209,-1039\"/>\n<text text-anchor=\"middle\" x=\"5023\" y=\"-1006.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd -->\n<g id=\"edge68\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5023,-970.582C5023,-957.284 5023,-942.632 5023,-930.297\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5023,-980.887 5018.5,-970.887 5023,-975.887 5023,-970.887 5023,-970.887 5023,-970.887 5023,-975.887 5027.5,-970.887 5023,-980.887 5023,-980.887\"/>\n<text text-anchor=\"middle\" x=\"5050.5\" y=\"-951.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_activation1 -->\n<g id=\"node72\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation1</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5140,-1148 5046,-1148 5046,-1090 5140,-1090 5140,-1148\"/>\n<text text-anchor=\"middle\" x=\"5093\" y=\"-1122.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5093\" y=\"-1107.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd -->\n<g id=\"edge69\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5068.9,-1081.16C5059.93,-1067.45 5049.9,-1052.12 5041.51,-1039.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5074.61,-1089.89 5065.37,-1083.98 5071.87,-1085.7 5069.13,-1081.52 5069.13,-1081.52 5069.13,-1081.52 5071.87,-1085.7 5072.9,-1079.06 5074.61,-1089.89 5074.61,-1089.89\"/>\n<text text-anchor=\"middle\" x=\"5090.5\" y=\"-1060.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd -->\n<g id=\"node73\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5209,-1257 5115,-1257 5115,-1199 5209,-1199 5209,-1257\"/>\n<text text-anchor=\"middle\" x=\"5162\" y=\"-1231.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5162\" y=\"-1216.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 64</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation1 -->\n<g id=\"edge70\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5138.24,-1190.16C5129.4,-1176.45 5119.52,-1161.12 5111.25,-1148.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5143.87,-1198.89 5134.67,-1192.92 5141.16,-1194.68 5138.45,-1190.48 5138.45,-1190.48 5138.45,-1190.48 5141.16,-1194.68 5142.23,-1188.04 5143.87,-1198.89 5143.87,-1198.89\"/>\n<text text-anchor=\"middle\" x=\"5159.5\" y=\"-1169.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1__plus0 -->\n<g id=\"node74\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5357.5,-1366 5042.5,-1366 5042.5,-1308 5357.5,-1308 5357.5,-1366\"/>\n<text text-anchor=\"middle\" x=\"5200\" y=\"-1333.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1__plus0</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_pool0_fwd -->\n<g id=\"edge72\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_pool0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5219.67,-1298.74C5228.52,-1278.65 5237,-1253.1 5237,-1229 5237,-1229 5237,-1229 5237,-682 5237,-651.457 5216.67,-622.961 5197.76,-603.068\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5215.48,-1307.85 5215.57,-1296.88 5217.57,-1303.31 5219.66,-1298.76 5219.66,-1298.76 5219.66,-1298.76 5217.57,-1303.31 5223.75,-1300.65 5215.48,-1307.85 5215.48,-1307.85\"/>\n<text text-anchor=\"middle\" x=\"5264.5\" y=\"-951.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd -->\n<g id=\"edge71\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5172.05,-1299.09C5170.51,-1296.1 5169.13,-1293.06 5168,-1290 5164.21,-1279.71 5162.5,-1267.83 5161.81,-1257.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5177.11,-1307.8 5168.2,-1301.41 5174.6,-1303.48 5172.09,-1299.16 5172.09,-1299.16 5172.09,-1299.16 5174.6,-1303.48 5175.98,-1296.9 5177.11,-1307.8 5177.11,-1307.8\"/>\n<text text-anchor=\"middle\" x=\"5195.5\" y=\"-1278.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd -->\n<g id=\"node75\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5243,-1475 4871,-1475 4871,-1417 5243,-1417 5243,-1475\"/>\n<text text-anchor=\"middle\" x=\"5057\" y=\"-1442.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus0 -->\n<g id=\"edge73\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5102.61,-1410.87C5121.81,-1396.5 5143.9,-1379.98 5162.18,-1366.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5094.57,-1416.89 5099.88,-1407.29 5098.57,-1413.89 5102.58,-1410.9 5102.58,-1410.9 5102.58,-1410.9 5098.57,-1413.89 5105.27,-1414.5 5094.57,-1416.89 5094.57,-1416.89\"/>\n<text text-anchor=\"middle\" x=\"5165.5\" y=\"-1387.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_activation2 -->\n<g id=\"node76\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation2</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5104,-1584 5010,-1584 5010,-1526 5104,-1526 5104,-1584\"/>\n<text text-anchor=\"middle\" x=\"5057\" y=\"-1558.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5057\" y=\"-1543.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd -->\n<g id=\"edge74\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5057,-1515.58C5057,-1502.28 5057,-1487.63 5057,-1475.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5057,-1525.89 5052.5,-1515.89 5057,-1520.89 5057,-1515.89 5057,-1515.89 5057,-1515.89 5057,-1520.89 5061.5,-1515.89 5057,-1525.89 5057,-1525.89\"/>\n<text text-anchor=\"middle\" x=\"5084.5\" y=\"-1496.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd -->\n<g id=\"node77\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5104,-1693 5010,-1693 5010,-1635 5104,-1635 5104,-1693\"/>\n<text text-anchor=\"middle\" x=\"5057\" y=\"-1667.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5057\" y=\"-1652.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 64</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation2 -->\n<g id=\"edge75\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation2</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5057,-1624.58C5057,-1611.28 5057,-1596.63 5057,-1584.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5057,-1634.89 5052.5,-1624.89 5057,-1629.89 5057,-1624.89 5057,-1624.89 5057,-1624.89 5057,-1629.89 5061.5,-1624.89 5057,-1634.89 5057,-1634.89\"/>\n<text text-anchor=\"middle\" x=\"5084.5\" y=\"-1605.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd -->\n<g id=\"node78\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5243,-1802 4871,-1802 4871,-1744 5243,-1744 5243,-1802\"/>\n<text text-anchor=\"middle\" x=\"5057\" y=\"-1769.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd -->\n<g id=\"edge76\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5057,-1733.58C5057,-1720.28 5057,-1705.63 5057,-1693.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5057,-1743.89 5052.5,-1733.89 5057,-1738.89 5057,-1733.89 5057,-1733.89 5057,-1733.89 5057,-1738.89 5061.5,-1733.89 5057,-1743.89 5057,-1743.89\"/>\n<text text-anchor=\"middle\" x=\"5084.5\" y=\"-1714.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_activation3 -->\n<g id=\"node79\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation3</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5174,-1911 5080,-1911 5080,-1853 5174,-1853 5174,-1911\"/>\n<text text-anchor=\"middle\" x=\"5127\" y=\"-1885.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5127\" y=\"-1870.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd -->\n<g id=\"edge77\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_batchnorm3_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5102.9,-1844.16C5093.93,-1830.45 5083.9,-1815.12 5075.51,-1802.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5108.61,-1852.89 5099.37,-1846.98 5105.87,-1848.7 5103.13,-1844.52 5103.13,-1844.52 5103.13,-1844.52 5105.87,-1848.7 5106.9,-1842.06 5108.61,-1852.89 5108.61,-1852.89\"/>\n<text text-anchor=\"middle\" x=\"5124.5\" y=\"-1823.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd -->\n<g id=\"node80\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5243,-2020 5149,-2020 5149,-1962 5243,-1962 5243,-2020\"/>\n<text text-anchor=\"middle\" x=\"5196\" y=\"-1994.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5196\" y=\"-1979.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 64</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation3 -->\n<g id=\"edge78\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_activation3</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5172.24,-1953.16C5163.4,-1939.45 5153.52,-1924.12 5145.25,-1911.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5177.87,-1961.89 5168.67,-1955.92 5175.16,-1957.68 5172.45,-1953.48 5172.45,-1953.48 5172.45,-1953.48 5175.16,-1957.68 5176.23,-1951.04 5177.87,-1961.89 5177.87,-1961.89\"/>\n<text text-anchor=\"middle\" x=\"5193.5\" y=\"-1932.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1__plus1 -->\n<g id=\"node81\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus1</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5392.5,-2129 5077.5,-2129 5077.5,-2071 5392.5,-2071 5392.5,-2129\"/>\n<text text-anchor=\"middle\" x=\"5235\" y=\"-2096.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage1__plus1</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus0 -->\n<g id=\"edge80\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5254.26,-2061.41C5262.82,-2041.35 5271,-2015.92 5271,-1992 5271,-1992 5271,-1992 5271,-1445 5271,-1414.46 5250.67,-1385.96 5231.76,-1366.07\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5250.06,-2070.8 5250.03,-2059.83 5252.1,-2066.24 5254.14,-2061.67 5254.14,-2061.67 5254.14,-2061.67 5252.1,-2066.24 5258.25,-2063.51 5250.06,-2070.8 5250.06,-2070.8\"/>\n<text text-anchor=\"middle\" x=\"5298.5\" y=\"-1714.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage1__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd -->\n<g id=\"edge79\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage1__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1_conv3_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5206.18,-2062.14C5204.58,-2059.14 5203.16,-2056.08 5202,-2053 5198.1,-2042.64 5196.38,-2030.63 5195.71,-2020.02\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5211.39,-2070.88 5202.4,-2064.6 5208.83,-2066.59 5206.27,-2062.29 5206.27,-2062.29 5206.27,-2062.29 5208.83,-2066.59 5210.13,-2059.99 5211.39,-2070.88 5211.39,-2070.88\"/>\n<text text-anchor=\"middle\" x=\"5229.5\" y=\"-2041.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd -->\n<g id=\"node82\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5421,-2238 5049,-2238 5049,-2180 5421,-2180 5421,-2238\"/>\n<text text-anchor=\"middle\" x=\"5235\" y=\"-2205.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus1 -->\n<g id=\"edge81\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage1__plus1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5235,-2169.58C5235,-2156.28 5235,-2141.63 5235,-2129.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5235,-2179.89 5230.5,-2169.89 5235,-2174.89 5235,-2169.89 5235,-2169.89 5235,-2169.89 5235,-2174.89 5239.5,-2169.89 5235,-2179.89 5235,-2179.89\"/>\n<text text-anchor=\"middle\" x=\"5262.5\" y=\"-2150.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_activation0 -->\n<g id=\"node83\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation0</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5282,-2347 5188,-2347 5188,-2289 5282,-2289 5282,-2347\"/>\n<text text-anchor=\"middle\" x=\"5235\" y=\"-2321.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5235\" y=\"-2306.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd -->\n<g id=\"edge82\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5235,-2278.58C5235,-2265.28 5235,-2250.63 5235,-2238.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5235,-2288.89 5230.5,-2278.89 5235,-2283.89 5235,-2278.89 5235,-2278.89 5235,-2278.89 5235,-2283.89 5239.5,-2278.89 5235,-2288.89 5235,-2288.89\"/>\n<text text-anchor=\"middle\" x=\"5262.5\" y=\"-2259.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd -->\n<g id=\"node84\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5216,-2456 5122,-2456 5122,-2398 5216,-2398 5216,-2456\"/>\n<text text-anchor=\"middle\" x=\"5169\" y=\"-2430.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5169\" y=\"-2415.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/2x2, 128</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation0 -->\n<g id=\"edge83\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5191.73,-2389.16C5200.18,-2375.45 5209.64,-2360.12 5217.55,-2347.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5186.34,-2397.89 5187.76,-2387.01 5188.97,-2393.63 5191.59,-2389.38 5191.59,-2389.38 5191.59,-2389.38 5188.97,-2393.63 5195.42,-2391.74 5186.34,-2397.89 5186.34,-2397.89\"/>\n<text text-anchor=\"middle\" x=\"5233.5\" y=\"-2368.8\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd -->\n<g id=\"node85\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5245,-2565 4873,-2565 4873,-2507 5245,-2507 5245,-2565\"/>\n<text text-anchor=\"middle\" x=\"5059\" y=\"-2532.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd -->\n<g id=\"edge84\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5095.27,-2499.72C5109.76,-2485.62 5126.22,-2469.61 5139.91,-2456.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5087.9,-2506.89 5091.93,-2496.69 5091.49,-2503.4 5095.07,-2499.91 5095.07,-2499.91 5095.07,-2499.91 5091.49,-2503.4 5098.21,-2503.14 5087.9,-2506.89 5087.9,-2506.89\"/>\n<text text-anchor=\"middle\" x=\"5151.5\" y=\"-2477.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_activation1 -->\n<g id=\"node86\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation1</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5120,-2674 5026,-2674 5026,-2616 5120,-2616 5120,-2674\"/>\n<text text-anchor=\"middle\" x=\"5073\" y=\"-2648.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5073\" y=\"-2633.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd -->\n<g id=\"edge85\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5067.97,-2605.58C5066.23,-2592.28 5064.32,-2577.63 5062.7,-2565.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5069.32,-2615.89 5063.56,-2606.56 5068.67,-2610.93 5068.02,-2605.97 5068.02,-2605.97 5068.02,-2605.97 5068.67,-2610.93 5072.49,-2605.39 5069.32,-2615.89 5069.32,-2615.89\"/>\n<text text-anchor=\"middle\" x=\"5097.5\" y=\"-2586.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd -->\n<g id=\"node87\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5151,-2826 5057,-2826 5057,-2768 5151,-2768 5151,-2826\"/>\n<text text-anchor=\"middle\" x=\"5104\" y=\"-2800.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5104\" y=\"-2785.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 128</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation1 -->\n<g id=\"edge86\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5096.12,-2757.85C5090.72,-2731.75 5083.69,-2697.73 5078.8,-2674.09\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5098.17,-2767.79 5091.74,-2758.9 5097.16,-2762.89 5096.15,-2757.99 5096.15,-2757.99 5096.15,-2757.99 5097.16,-2762.89 5100.55,-2757.08 5098.17,-2767.79 5098.17,-2767.79\"/>\n<text text-anchor=\"middle\" x=\"5124.5\" y=\"-2717.3\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd -->\n<g id=\"node88\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5314,-2750 5220,-2750 5220,-2692 5314,-2692 5314,-2750\"/>\n<text text-anchor=\"middle\" x=\"5267\" y=\"-2724.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5267\" y=\"-2709.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x1/2x2, 128</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation0 -->\n<g id=\"edge87\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5273.36,-2681.77C5277.06,-2656.27 5281,-2621.97 5281,-2591.5 5281,-2591.5 5281,-2591.5 5281,-2426 5281,-2397.97 5276.36,-2390.62 5265,-2365 5262.37,-2359.07 5259.02,-2353.05 5255.52,-2347.4\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5271.86,-2691.77 5268.89,-2681.21 5272.6,-2686.82 5273.34,-2681.88 5273.34,-2681.88 5273.34,-2681.88 5272.6,-2686.82 5277.79,-2682.55 5271.86,-2691.77 5271.86,-2691.77\"/>\n<text text-anchor=\"middle\" x=\"5308.5\" y=\"-2532.3\" font-family=\"Times,serif\" font-size=\"14.00\">64x56x56</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2__plus0 -->\n<g id=\"node89\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5310.5,-2935 4995.5,-2935 4995.5,-2877 5310.5,-2877 5310.5,-2935\"/>\n<text text-anchor=\"middle\" x=\"5153\" y=\"-2902.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2__plus0</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd -->\n<g id=\"edge88\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5130.45,-2867.91C5128.88,-2864.93 5127.38,-2861.93 5126,-2859 5121.08,-2848.5 5116.55,-2836.58 5112.91,-2826.07\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5135.31,-2876.73 5126.55,-2870.14 5132.9,-2872.35 5130.49,-2867.97 5130.49,-2867.97 5130.49,-2867.97 5132.9,-2872.35 5134.43,-2865.8 5135.31,-2876.73 5135.31,-2876.73\"/>\n<text text-anchor=\"middle\" x=\"5156.5\" y=\"-2847.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd -->\n<g id=\"edge89\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5180.6,-2868.39C5182.81,-2865.24 5184.97,-2862.08 5187,-2859 5211.17,-2822.31 5236.28,-2778.16 5251.77,-2750.09\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5174.71,-2876.63 5176.87,-2865.88 5177.62,-2872.56 5180.53,-2868.5 5180.53,-2868.5 5180.53,-2868.5 5177.62,-2872.56 5184.19,-2871.12 5174.71,-2876.63 5174.71,-2876.63\"/>\n<text text-anchor=\"middle\" x=\"5226.5\" y=\"-2847.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd -->\n<g id=\"node90\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5198,-3044 4826,-3044 4826,-2986 5198,-2986 5198,-3044\"/>\n<text text-anchor=\"middle\" x=\"5012\" y=\"-3011.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus0 -->\n<g id=\"edge90\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5057.22,-2979.68C5076.1,-2965.36 5097.77,-2948.91 5115.71,-2935.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5049.05,-2985.89 5054.29,-2976.26 5053.03,-2982.86 5057.01,-2979.84 5057.01,-2979.84 5057.01,-2979.84 5053.03,-2982.86 5059.73,-2983.43 5049.05,-2985.89 5049.05,-2985.89\"/>\n<text text-anchor=\"middle\" x=\"5121.5\" y=\"-2956.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_activation2 -->\n<g id=\"node91\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation2</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5059,-3153 4965,-3153 4965,-3095 5059,-3095 5059,-3153\"/>\n<text text-anchor=\"middle\" x=\"5012\" y=\"-3127.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5012\" y=\"-3112.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd -->\n<g id=\"edge91\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5012,-3084.58C5012,-3071.28 5012,-3056.63 5012,-3044.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5012,-3094.89 5007.5,-3084.89 5012,-3089.89 5012,-3084.89 5012,-3084.89 5012,-3084.89 5012,-3089.89 5016.5,-3084.89 5012,-3094.89 5012,-3094.89\"/>\n<text text-anchor=\"middle\" x=\"5042.5\" y=\"-3065.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd -->\n<g id=\"node92\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5059,-3262 4965,-3262 4965,-3204 5059,-3204 5059,-3262\"/>\n<text text-anchor=\"middle\" x=\"5012\" y=\"-3236.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5012\" y=\"-3221.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 128</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation2 -->\n<g id=\"edge92\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation2</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5012,-3193.58C5012,-3180.28 5012,-3165.63 5012,-3153.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5012,-3203.89 5007.5,-3193.89 5012,-3198.89 5012,-3193.89 5012,-3193.89 5012,-3193.89 5012,-3198.89 5016.5,-3193.89 5012,-3203.89 5012,-3203.89\"/>\n<text text-anchor=\"middle\" x=\"5042.5\" y=\"-3174.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd -->\n<g id=\"node93\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5198,-3371 4826,-3371 4826,-3313 5198,-3313 5198,-3371\"/>\n<text text-anchor=\"middle\" x=\"5012\" y=\"-3338.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd -->\n<g id=\"edge93\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv3_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5012,-3302.58C5012,-3289.28 5012,-3274.63 5012,-3262.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5012,-3312.89 5007.5,-3302.89 5012,-3307.89 5012,-3302.89 5012,-3302.89 5012,-3302.89 5012,-3307.89 5016.5,-3302.89 5012,-3312.89 5012,-3312.89\"/>\n<text text-anchor=\"middle\" x=\"5042.5\" y=\"-3283.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_activation3 -->\n<g id=\"node94\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation3</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5072,-3480 4978,-3480 4978,-3422 5072,-3422 5072,-3480\"/>\n<text text-anchor=\"middle\" x=\"5025\" y=\"-3454.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5025\" y=\"-3439.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd -->\n<g id=\"edge94\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_batchnorm3_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5020.33,-3411.58C5018.72,-3398.28 5016.94,-3383.63 5015.44,-3371.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5021.58,-3421.89 5015.91,-3412.5 5020.98,-3416.92 5020.38,-3411.96 5020.38,-3411.96 5020.38,-3411.96 5020.98,-3416.92 5024.85,-3411.42 5021.58,-3421.89 5021.58,-3421.89\"/>\n<text text-anchor=\"middle\" x=\"5050.5\" y=\"-3392.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd -->\n<g id=\"node95\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5094,-3589 5000,-3589 5000,-3531 5094,-3531 5094,-3589\"/>\n<text text-anchor=\"middle\" x=\"5047\" y=\"-3563.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5047\" y=\"-3548.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 128</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation3 -->\n<g id=\"edge95\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_activation3</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5039.18,-3520.98C5036.43,-3507.57 5033.38,-3492.75 5030.82,-3480.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5041.22,-3530.89 5034.8,-3522 5040.21,-3525.99 5039.21,-3521.09 5039.21,-3521.09 5039.21,-3521.09 5040.21,-3525.99 5043.61,-3520.19 5041.22,-3530.89 5041.22,-3530.89\"/>\n<text text-anchor=\"middle\" x=\"5068.5\" y=\"-3501.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2__plus1 -->\n<g id=\"node96\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus1</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5276.5,-3698 4961.5,-3698 4961.5,-3640 5276.5,-3640 5276.5,-3698\"/>\n<text text-anchor=\"middle\" x=\"5119\" y=\"-3665.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage2__plus1</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus0 -->\n<g id=\"edge97\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5180.34,-3634.08C5204.24,-3616.06 5226,-3591.33 5226,-3561 5226,-3561 5226,-3561 5226,-3014 5226,-2983.42 5205.4,-2955.13 5186.08,-2935.33\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5172.19,-3639.93 5177.69,-3630.45 5176.25,-3637.02 5180.31,-3634.11 5180.31,-3634.11 5180.31,-3634.11 5176.25,-3637.02 5182.94,-3637.76 5172.19,-3639.93 5172.19,-3639.93\"/>\n<text text-anchor=\"middle\" x=\"5256.5\" y=\"-3283.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage2__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd -->\n<g id=\"edge96\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage2__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2_conv4_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5094.47,-3631.55C5085.18,-3617.74 5074.75,-3602.24 5066.04,-3589.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5100.08,-3639.89 5090.77,-3634.1 5097.29,-3635.74 5094.5,-3631.59 5094.5,-3631.59 5094.5,-3631.59 5097.29,-3635.74 5098.23,-3629.08 5100.08,-3639.89 5100.08,-3639.89\"/>\n<text text-anchor=\"middle\" x=\"5118.5\" y=\"-3610.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd -->\n<g id=\"node97\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5305,-3807 4933,-3807 4933,-3749 5305,-3749 5305,-3807\"/>\n<text text-anchor=\"middle\" x=\"5119\" y=\"-3774.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus1 -->\n<g id=\"edge98\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage2__plus1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5119,-3738.58C5119,-3725.28 5119,-3710.63 5119,-3698.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5119,-3748.89 5114.5,-3738.89 5119,-3743.89 5119,-3738.89 5119,-3738.89 5119,-3738.89 5119,-3743.89 5123.5,-3738.89 5119,-3748.89 5119,-3748.89\"/>\n<text text-anchor=\"middle\" x=\"5149.5\" y=\"-3719.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_activation0 -->\n<g id=\"node98\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation0</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5166,-3916 5072,-3916 5072,-3858 5166,-3858 5166,-3916\"/>\n<text text-anchor=\"middle\" x=\"5119\" y=\"-3890.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5119\" y=\"-3875.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd -->\n<g id=\"edge99\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5119,-3847.58C5119,-3834.28 5119,-3819.63 5119,-3807.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5119,-3857.89 5114.5,-3847.89 5119,-3852.89 5119,-3847.89 5119,-3847.89 5119,-3847.89 5119,-3852.89 5123.5,-3847.89 5119,-3857.89 5119,-3857.89\"/>\n<text text-anchor=\"middle\" x=\"5149.5\" y=\"-3828.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd -->\n<g id=\"node99\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5100,-4025 5006,-4025 5006,-3967 5100,-3967 5100,-4025\"/>\n<text text-anchor=\"middle\" x=\"5053\" y=\"-3999.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5053\" y=\"-3984.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/2x2, 256</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation0 -->\n<g id=\"edge100\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5075.73,-3958.16C5084.18,-3944.45 5093.64,-3929.12 5101.55,-3916.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5070.34,-3966.89 5071.76,-3956.01 5072.97,-3962.63 5075.59,-3958.38 5075.59,-3958.38 5075.59,-3958.38 5072.97,-3962.63 5079.42,-3960.74 5070.34,-3966.89 5070.34,-3966.89\"/>\n<text text-anchor=\"middle\" x=\"5120.5\" y=\"-3937.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd -->\n<g id=\"node100\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5130,-4134 4758,-4134 4758,-4076 5130,-4076 5130,-4134\"/>\n<text text-anchor=\"middle\" x=\"4944\" y=\"-4101.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd -->\n<g id=\"edge101\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4979.94,-4068.72C4994.3,-4054.62 5010.61,-4038.61 5024.17,-4025.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4972.64,-4075.89 4976.62,-4065.67 4976.21,-4072.38 4979.77,-4068.88 4979.77,-4068.88 4979.77,-4068.88 4976.21,-4072.38 4982.93,-4072.09 4972.64,-4075.89 4972.64,-4075.89\"/>\n<text text-anchor=\"middle\" x=\"5036.5\" y=\"-4046.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_activation1 -->\n<g id=\"node101\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation1</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5012,-4243 4918,-4243 4918,-4185 5012,-4185 5012,-4243\"/>\n<text text-anchor=\"middle\" x=\"4965\" y=\"-4217.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"4965\" y=\"-4202.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd -->\n<g id=\"edge102\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4957.54,-4174.98C4954.91,-4161.57 4952,-4146.75 4949.55,-4134.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4959.48,-4184.89 4953.14,-4175.94 4958.52,-4179.98 4957.56,-4175.07 4957.56,-4175.07 4957.56,-4175.07 4958.52,-4179.98 4961.97,-4174.21 4959.48,-4184.89 4959.48,-4184.89\"/>\n<text text-anchor=\"middle\" x=\"4986.5\" y=\"-4155.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd -->\n<g id=\"node102\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5023,-4395 4929,-4395 4929,-4337 5023,-4337 5023,-4395\"/>\n<text text-anchor=\"middle\" x=\"4976\" y=\"-4369.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"4976\" y=\"-4354.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 256</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation1 -->\n<g id=\"edge103\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4973.18,-4326.51C4971.27,-4300.45 4968.79,-4266.62 4967.06,-4243.09\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4973.93,-4336.79 4968.71,-4327.14 4973.57,-4331.8 4973.2,-4326.81 4973.2,-4326.81 4973.2,-4326.81 4973.57,-4331.8 4977.69,-4326.48 4973.93,-4336.79 4973.93,-4336.79\"/>\n<text text-anchor=\"middle\" x=\"5003.5\" y=\"-4286.3\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd -->\n<g id=\"node103\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5186,-4319 5092,-4319 5092,-4261 5186,-4261 5186,-4319\"/>\n<text text-anchor=\"middle\" x=\"5139\" y=\"-4293.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5139\" y=\"-4278.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x1/2x2, 256</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation0 -->\n<g id=\"edge104\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5151.24,-4251.18C5158.39,-4225.81 5166,-4191.49 5166,-4160.5 5166,-4160.5 5166,-4160.5 5166,-3995 5166,-3967.18 5163.44,-3959.35 5152,-3934 5149.25,-3927.91 5145.63,-3921.81 5141.8,-3916.13\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5148.44,-4260.78 5146.92,-4249.92 5149.84,-4255.98 5151.24,-4251.18 5151.24,-4251.18 5151.24,-4251.18 5149.84,-4255.98 5155.56,-4252.44 5148.44,-4260.78 5148.44,-4260.78\"/>\n<text text-anchor=\"middle\" x=\"5196.5\" y=\"-4101.3\" font-family=\"Times,serif\" font-size=\"14.00\">128x28x28</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3__plus0 -->\n<g id=\"node104\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5182.5,-4504 4867.5,-4504 4867.5,-4446 5182.5,-4446 5182.5,-4504\"/>\n<text text-anchor=\"middle\" x=\"5025\" y=\"-4471.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3__plus0</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd -->\n<g id=\"edge105\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5002.45,-4436.91C5000.88,-4433.93 4999.38,-4430.93 4998,-4428 4993.08,-4417.5 4988.55,-4405.58 4984.91,-4395.07\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5007.31,-4445.73 4998.55,-4439.14 5004.9,-4441.35 5002.49,-4436.97 5002.49,-4436.97 5002.49,-4436.97 5004.9,-4441.35 5006.43,-4434.8 5007.31,-4445.73 5007.31,-4445.73\"/>\n<text text-anchor=\"middle\" x=\"5028.5\" y=\"-4416.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd -->\n<g id=\"edge106\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5052.6,-4437.39C5054.81,-4434.24 5056.97,-4431.08 5059,-4428 5083.17,-4391.31 5108.28,-4347.16 5123.77,-4319.09\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5046.71,-4445.63 5048.87,-4434.88 5049.62,-4441.56 5052.53,-4437.5 5052.53,-4437.5 5052.53,-4437.5 5049.62,-4441.56 5056.19,-4440.12 5046.71,-4445.63 5046.71,-4445.63\"/>\n<text text-anchor=\"middle\" x=\"5098.5\" y=\"-4416.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd -->\n<g id=\"node105\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5070,-4613 4698,-4613 4698,-4555 5070,-4555 5070,-4613\"/>\n<text text-anchor=\"middle\" x=\"4884\" y=\"-4580.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus0 -->\n<g id=\"edge107\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4929.22,-4548.68C4948.1,-4534.36 4969.77,-4517.91 4987.71,-4504.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4921.05,-4554.89 4926.29,-4545.26 4925.03,-4551.86 4929.01,-4548.84 4929.01,-4548.84 4929.01,-4548.84 4925.03,-4551.86 4931.73,-4552.43 4921.05,-4554.89 4921.05,-4554.89\"/>\n<text text-anchor=\"middle\" x=\"4993.5\" y=\"-4525.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_activation2 -->\n<g id=\"node106\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation2</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"4931,-4722 4837,-4722 4837,-4664 4931,-4664 4931,-4722\"/>\n<text text-anchor=\"middle\" x=\"4884\" y=\"-4696.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"4884\" y=\"-4681.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd -->\n<g id=\"edge108\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4884,-4653.58C4884,-4640.28 4884,-4625.63 4884,-4613.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4884,-4663.89 4879.5,-4653.89 4884,-4658.89 4884,-4653.89 4884,-4653.89 4884,-4653.89 4884,-4658.89 4888.5,-4653.89 4884,-4663.89 4884,-4663.89\"/>\n<text text-anchor=\"middle\" x=\"4914.5\" y=\"-4634.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd -->\n<g id=\"node107\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"4931,-4831 4837,-4831 4837,-4773 4931,-4773 4931,-4831\"/>\n<text text-anchor=\"middle\" x=\"4884\" y=\"-4805.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"4884\" y=\"-4790.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 256</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation2 -->\n<g id=\"edge109\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation2</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4884,-4762.58C4884,-4749.28 4884,-4734.63 4884,-4722.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4884,-4772.89 4879.5,-4762.89 4884,-4767.89 4884,-4762.89 4884,-4762.89 4884,-4762.89 4884,-4767.89 4888.5,-4762.89 4884,-4772.89 4884,-4772.89\"/>\n<text text-anchor=\"middle\" x=\"4914.5\" y=\"-4743.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd -->\n<g id=\"node108\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5070,-4940 4698,-4940 4698,-4882 5070,-4882 5070,-4940\"/>\n<text text-anchor=\"middle\" x=\"4884\" y=\"-4907.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd -->\n<g id=\"edge110\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv3_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4884,-4871.58C4884,-4858.28 4884,-4843.63 4884,-4831.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4884,-4881.89 4879.5,-4871.89 4884,-4876.89 4884,-4871.89 4884,-4871.89 4884,-4871.89 4884,-4876.89 4888.5,-4871.89 4884,-4881.89 4884,-4881.89\"/>\n<text text-anchor=\"middle\" x=\"4914.5\" y=\"-4852.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_activation3 -->\n<g id=\"node109\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation3</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5069,-5049 4975,-5049 4975,-4991 5069,-4991 5069,-5049\"/>\n<text text-anchor=\"middle\" x=\"5022\" y=\"-5023.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5022\" y=\"-5008.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd -->\n<g id=\"edge111\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_batchnorm3_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4977.49,-4984.49C4959.07,-4970.21 4937.98,-4953.85 4920.49,-4940.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4985.74,-4990.89 4975.08,-4988.32 4981.79,-4987.82 4977.84,-4984.76 4977.84,-4984.76 4977.84,-4984.76 4981.79,-4987.82 4980.6,-4981.2 4985.74,-4990.89 4985.74,-4990.89\"/>\n<text text-anchor=\"middle\" x=\"4992.5\" y=\"-4961.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd -->\n<g id=\"node110\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5069,-5158 4975,-5158 4975,-5100 5069,-5100 5069,-5158\"/>\n<text text-anchor=\"middle\" x=\"5022\" y=\"-5132.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5022\" y=\"-5117.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 256</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation3 -->\n<g id=\"edge112\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_activation3</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5022,-5089.58C5022,-5076.28 5022,-5061.63 5022,-5049.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5022,-5099.89 5017.5,-5089.89 5022,-5094.89 5022,-5089.89 5022,-5089.89 5022,-5089.89 5022,-5094.89 5026.5,-5089.89 5022,-5099.89 5022,-5099.89\"/>\n<text text-anchor=\"middle\" x=\"5052.5\" y=\"-5070.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3__plus1 -->\n<g id=\"node111\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus1</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5217.5,-5267 4902.5,-5267 4902.5,-5209 5217.5,-5209 5217.5,-5267\"/>\n<text text-anchor=\"middle\" x=\"5060\" y=\"-5234.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage3__plus1</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus0 -->\n<g id=\"edge114\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5080.2,-5199.8C5089.29,-5179.72 5098,-5154.17 5098,-5130 5098,-5130 5098,-5130 5098,-4583 5098,-4552.42 5077.4,-4524.13 5058.08,-4504.33\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5075.9,-5208.9 5076.11,-5197.93 5078.04,-5204.38 5080.18,-5199.86 5080.18,-5199.86 5080.18,-5199.86 5078.04,-5204.38 5084.24,-5201.78 5075.9,-5208.9 5075.9,-5208.9\"/>\n<text text-anchor=\"middle\" x=\"5128.5\" y=\"-4852.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage3__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd -->\n<g id=\"edge113\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage3__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3_conv4_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5027.23,-5200.2C5025.57,-5197.21 5024.13,-5194.13 5023,-5191 5019.26,-5180.64 5018.39,-5168.63 5018.68,-5158.02\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5032.73,-5208.85 5023.57,-5202.83 5030.05,-5204.63 5027.36,-5200.41 5027.36,-5200.41 5027.36,-5200.41 5030.05,-5204.63 5031.16,-5198 5032.73,-5208.85 5032.73,-5208.85\"/>\n<text text-anchor=\"middle\" x=\"5053.5\" y=\"-5179.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd -->\n<g id=\"node112\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5246,-5376 4874,-5376 4874,-5318 5246,-5318 5246,-5376\"/>\n<text text-anchor=\"middle\" x=\"5060\" y=\"-5343.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus1 -->\n<g id=\"edge115\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage3__plus1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5060,-5307.58C5060,-5294.28 5060,-5279.63 5060,-5267.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5060,-5317.89 5055.5,-5307.89 5060,-5312.89 5060,-5307.89 5060,-5307.89 5060,-5307.89 5060,-5312.89 5064.5,-5307.89 5060,-5317.89 5060,-5317.89\"/>\n<text text-anchor=\"middle\" x=\"5090.5\" y=\"-5288.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_activation0 -->\n<g id=\"node113\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation0</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5107,-5485 5013,-5485 5013,-5427 5107,-5427 5107,-5485\"/>\n<text text-anchor=\"middle\" x=\"5060\" y=\"-5459.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5060\" y=\"-5444.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd -->\n<g id=\"edge116\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5060,-5416.58C5060,-5403.28 5060,-5388.63 5060,-5376.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5060,-5426.89 5055.5,-5416.89 5060,-5421.89 5060,-5416.89 5060,-5416.89 5060,-5416.89 5060,-5421.89 5064.5,-5416.89 5060,-5426.89 5060,-5426.89\"/>\n<text text-anchor=\"middle\" x=\"5090.5\" y=\"-5397.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd -->\n<g id=\"node114\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5024,-5594 4930,-5594 4930,-5536 5024,-5536 5024,-5594\"/>\n<text text-anchor=\"middle\" x=\"4977\" y=\"-5568.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"4977\" y=\"-5553.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/2x2, 512</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation0 -->\n<g id=\"edge117\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5004.97,-5527.94C5015.76,-5514.03 5027.91,-5498.36 5038.05,-5485.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4998.81,-5535.89 5001.38,-5525.23 5001.87,-5531.94 5004.94,-5527.99 5004.94,-5527.99 5004.94,-5527.99 5001.87,-5531.94 5008.49,-5530.74 4998.81,-5535.89 4998.81,-5535.89\"/>\n<text text-anchor=\"middle\" x=\"5054.5\" y=\"-5506.8\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd -->\n<g id=\"node115\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5071,-5703 4699,-5703 4699,-5645 5071,-5645 5071,-5703\"/>\n<text text-anchor=\"middle\" x=\"4885\" y=\"-5670.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd -->\n<g id=\"edge118\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv0_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4916.01,-5636.94C4927.96,-5623.03 4941.43,-5607.36 4952.67,-5594.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4909.17,-5644.89 4912.28,-5634.37 4912.43,-5641.1 4915.69,-5637.3 4915.69,-5637.3 4915.69,-5637.3 4912.43,-5641.1 4919.1,-5640.24 4909.17,-5644.89 4909.17,-5644.89\"/>\n<text text-anchor=\"middle\" x=\"4961\" y=\"-5615.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_activation1 -->\n<g id=\"node116\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation1</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"4948,-5812 4854,-5812 4854,-5754 4948,-5754 4948,-5812\"/>\n<text text-anchor=\"middle\" x=\"4901\" y=\"-5786.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"4901\" y=\"-5771.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd -->\n<g id=\"edge119\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4895.31,-5743.98C4893.31,-5730.57 4891.09,-5715.75 4889.23,-5703.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4896.8,-5753.89 4890.87,-5744.66 4896.06,-5748.94 4895.32,-5744 4895.32,-5744 4895.32,-5744 4896.06,-5748.94 4899.77,-5743.33 4896.8,-5753.89 4896.8,-5753.89\"/>\n<text text-anchor=\"middle\" x=\"4918\" y=\"-5724.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd -->\n<g id=\"node117\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"4984,-5964 4890,-5964 4890,-5906 4984,-5906 4984,-5964\"/>\n<text text-anchor=\"middle\" x=\"4937\" y=\"-5938.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"4937\" y=\"-5923.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 512</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation1 -->\n<g id=\"edge120\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4927.84,-5895.85C4921.58,-5869.75 4913.41,-5835.73 4907.74,-5812.09\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4930.23,-5905.79 4923.52,-5897.11 4929.06,-5900.92 4927.89,-5896.06 4927.89,-5896.06 4927.89,-5896.06 4929.06,-5900.92 4932.27,-5895.01 4930.23,-5905.79 4930.23,-5905.79\"/>\n<text text-anchor=\"middle\" x=\"4950\" y=\"-5855.3\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd -->\n<g id=\"node118\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5139,-5888 5045,-5888 5045,-5830 5139,-5830 5139,-5888\"/>\n<text text-anchor=\"middle\" x=\"5092\" y=\"-5862.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"5092\" y=\"-5847.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x1/2x2, 512</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation0 -->\n<g id=\"edge121\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5098.82,-5819.78C5102.78,-5794.3 5107,-5760 5107,-5729.5 5107,-5729.5 5107,-5729.5 5107,-5564 5107,-5535.39 5092.74,-5505.84 5079.93,-5485.06\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5097.2,-5829.78 5094.35,-5819.19 5098,-5824.85 5098.8,-5819.91 5098.8,-5819.91 5098.8,-5819.91 5098,-5824.85 5103.24,-5820.63 5097.2,-5829.78 5097.2,-5829.78\"/>\n<text text-anchor=\"middle\" x=\"5137.5\" y=\"-5670.3\" font-family=\"Times,serif\" font-size=\"14.00\">256x14x14</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4__plus0 -->\n<g id=\"node119\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5133.5,-6073 4818.5,-6073 4818.5,-6015 5133.5,-6015 5133.5,-6073\"/>\n<text text-anchor=\"middle\" x=\"4976\" y=\"-6040.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4__plus0</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd -->\n<g id=\"edge122\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4957.32,-6005.27C4956.14,-6002.5 4955.02,-5999.72 4954,-5997 4950.06,-5986.5 4946.56,-5974.68 4943.78,-5964.27\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4961.48,-6014.63 4953.3,-6007.32 4959.45,-6010.06 4957.41,-6005.49 4957.41,-6005.49 4957.41,-6005.49 4959.45,-6010.06 4961.53,-6003.66 4961.48,-6014.63 4961.48,-6014.63\"/>\n<text text-anchor=\"middle\" x=\"4978\" y=\"-5985.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd -->\n<g id=\"edge123\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus0&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4999.24,-6006.34C5021.3,-5971.53 5054,-5919.94 5074.11,-5888.22\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4993.87,-6014.81 4995.42,-6003.95 4996.55,-6010.58 4999.22,-6006.36 4999.22,-6006.36 4999.22,-6006.36 4996.55,-6010.58 5003.03,-6008.77 4993.87,-6014.81 4993.87,-6014.81\"/>\n<text text-anchor=\"middle\" x=\"5039\" y=\"-5985.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd -->\n<g id=\"node120\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5017,-6182 4645,-6182 4645,-6124 5017,-6124 5017,-6182\"/>\n<text text-anchor=\"middle\" x=\"4831\" y=\"-6149.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus0 -->\n<g id=\"edge124\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4877.28,-6117.85C4896.83,-6103.42 4919.33,-6086.82 4937.91,-6073.11\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4869.1,-6123.89 4874.47,-6114.33 4873.12,-6120.92 4877.14,-6117.95 4877.14,-6117.95 4877.14,-6117.95 4873.12,-6120.92 4879.82,-6121.57 4869.1,-6123.89 4869.1,-6123.89\"/>\n<text text-anchor=\"middle\" x=\"4937\" y=\"-6094.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_activation2 -->\n<g id=\"node121\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation2</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"4878,-6291 4784,-6291 4784,-6233 4878,-6233 4878,-6291\"/>\n<text text-anchor=\"middle\" x=\"4831\" y=\"-6265.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"4831\" y=\"-6250.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd -->\n<g id=\"edge125\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation2&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4831,-6222.58C4831,-6209.28 4831,-6194.63 4831,-6182.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4831,-6232.89 4826.5,-6222.89 4831,-6227.89 4831,-6222.89 4831,-6222.89 4831,-6222.89 4831,-6227.89 4835.5,-6222.89 4831,-6232.89 4831,-6232.89\"/>\n<text text-anchor=\"middle\" x=\"4855\" y=\"-6203.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd -->\n<g id=\"node122\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"4878,-6400 4784,-6400 4784,-6342 4878,-6342 4878,-6400\"/>\n<text text-anchor=\"middle\" x=\"4831\" y=\"-6374.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"4831\" y=\"-6359.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 512</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation2 -->\n<g id=\"edge126\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation2</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4831,-6331.58C4831,-6318.28 4831,-6303.63 4831,-6291.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4831,-6341.89 4826.5,-6331.89 4831,-6336.89 4831,-6331.89 4831,-6331.89 4831,-6331.89 4831,-6336.89 4835.5,-6331.89 4831,-6341.89 4831,-6341.89\"/>\n<text text-anchor=\"middle\" x=\"4855\" y=\"-6312.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd -->\n<g id=\"node123\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5017,-6509 4645,-6509 4645,-6451 5017,-6451 5017,-6509\"/>\n<text text-anchor=\"middle\" x=\"4831\" y=\"-6476.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd -->\n<g id=\"edge127\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv3_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4831,-6440.58C4831,-6427.28 4831,-6412.63 4831,-6400.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4831,-6450.89 4826.5,-6440.89 4831,-6445.89 4831,-6440.89 4831,-6440.89 4831,-6440.89 4831,-6445.89 4835.5,-6440.89 4831,-6450.89 4831,-6450.89\"/>\n<text text-anchor=\"middle\" x=\"4855\" y=\"-6421.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_activation3 -->\n<g id=\"node124\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation3</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"4948,-6618 4854,-6618 4854,-6560 4948,-6560 4948,-6618\"/>\n<text text-anchor=\"middle\" x=\"4901\" y=\"-6592.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"4901\" y=\"-6577.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd -->\n<g id=\"edge128\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_activation3&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_batchnorm3_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4876.9,-6551.16C4867.93,-6537.45 4857.9,-6522.12 4849.51,-6509.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4882.61,-6559.89 4873.37,-6553.98 4879.87,-6555.7 4877.13,-6551.52 4877.13,-6551.52 4877.13,-6551.52 4879.87,-6555.7 4880.9,-6549.06 4882.61,-6559.89 4882.61,-6559.89\"/>\n<text text-anchor=\"middle\" x=\"4895\" y=\"-6530.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd -->\n<g id=\"node125\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5017,-6727 4923,-6727 4923,-6669 5017,-6669 5017,-6727\"/>\n<text text-anchor=\"middle\" x=\"4970\" y=\"-6701.8\" font-family=\"Times,serif\" font-size=\"14.00\">Convolution</text>\n<text text-anchor=\"middle\" x=\"4970\" y=\"-6686.8\" font-family=\"Times,serif\" font-size=\"14.00\">3x3/1x1, 512</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation3 -->\n<g id=\"edge129\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_activation3</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4946.24,-6660.16C4937.4,-6646.45 4927.52,-6631.12 4919.25,-6618.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4951.87,-6668.89 4942.67,-6662.92 4949.16,-6664.68 4946.45,-6660.48 4946.45,-6660.48 4946.45,-6660.48 4949.16,-6664.68 4950.23,-6658.04 4951.87,-6668.89 4951.87,-6668.89\"/>\n<text text-anchor=\"middle\" x=\"4964\" y=\"-6639.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4__plus1 -->\n<g id=\"node126\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus1</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5170.5,-6836 4855.5,-6836 4855.5,-6778 5170.5,-6778 5170.5,-6836\"/>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-6803.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_stage4__plus1</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus0 -->\n<g id=\"edge131\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5030.12,-6768.2C5037.73,-6748.08 5045,-6722.66 5045,-6699 5045,-6699 5045,-6699 5045,-6152 5045,-6121.72 5025.24,-6093.2 5006.87,-6073.24\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5026.39,-6777.62 5025.89,-6766.67 5028.23,-6772.97 5030.07,-6768.32 5030.07,-6768.32 5030.07,-6768.32 5028.23,-6772.97 5034.25,-6769.98 5026.39,-6777.62 5026.39,-6777.62\"/>\n<text text-anchor=\"middle\" x=\"5069\" y=\"-6421.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_stage4__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd -->\n<g id=\"edge130\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_stage4__plus1&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4_conv4_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4987.25,-6768.97C4985.69,-6766 4984.24,-6762.99 4983,-6760 4978.72,-6749.7 4975.78,-6737.82 4973.79,-6727.29\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4992.25,-6777.7 4983.38,-6771.26 4989.77,-6773.36 4987.28,-6769.02 4987.28,-6769.02 4987.28,-6769.02 4989.77,-6773.36 4991.19,-6766.78 4992.25,-6777.7 4992.25,-6777.7\"/>\n<text text-anchor=\"middle\" x=\"5007\" y=\"-6748.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_batchnorm2_fwd -->\n<g id=\"node127\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_batchnorm2_fwd</title>\n<polygon fill=\"#bebada\" stroke=\"black\" points=\"5178.5,-6945 4847.5,-6945 4847.5,-6887 5178.5,-6887 5178.5,-6945\"/>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-6912.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_batchnorm2_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus1 -->\n<g id=\"edge132\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_batchnorm2_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_stage4__plus1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5013,-6876.58C5013,-6863.28 5013,-6848.63 5013,-6836.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5013,-6886.89 5008.5,-6876.89 5013,-6881.89 5013,-6876.89 5013,-6876.89 5013,-6876.89 5013,-6881.89 5017.5,-6876.89 5013,-6886.89 5013,-6886.89\"/>\n<text text-anchor=\"middle\" x=\"5037\" y=\"-6857.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_relu1_fwd -->\n<g id=\"node128\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_relu1_fwd</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5060,-7054 4966,-7054 4966,-6996 5060,-6996 5060,-7054\"/>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7028.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7013.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_relu1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm2_fwd -->\n<g id=\"edge133\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_relu1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_batchnorm2_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5013,-6985.58C5013,-6972.28 5013,-6957.63 5013,-6945.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5013,-6995.89 5008.5,-6985.89 5013,-6990.89 5013,-6985.89 5013,-6985.89 5013,-6985.89 5013,-6990.89 5017.5,-6985.89 5013,-6995.89 5013,-6995.89\"/>\n<text text-anchor=\"middle\" x=\"5037\" y=\"-6966.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_pool1_fwd -->\n<g id=\"node129\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_pool1_fwd</title>\n<polygon fill=\"#80b1d3\" stroke=\"black\" points=\"5060,-7163 4966,-7163 4966,-7105 5060,-7105 5060,-7163\"/>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7137.8\" font-family=\"Times,serif\" font-size=\"14.00\">Pooling</text>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7122.8\" font-family=\"Times,serif\" font-size=\"14.00\">avg, 1x1/1x1</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_pool1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_relu1_fwd -->\n<g id=\"edge134\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_pool1_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_relu1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5013,-7094.58C5013,-7081.28 5013,-7066.63 5013,-7054.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7104.89 5008.5,-7094.89 5013,-7099.89 5013,-7094.89 5013,-7094.89 5013,-7094.89 5013,-7099.89 5017.5,-7094.89 5013,-7104.89 5013,-7104.89\"/>\n<text text-anchor=\"middle\" x=\"5037\" y=\"-7075.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x7x7</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_flatten0_flatten0 -->\n<g id=\"node130\" class=\"node\"><title>dssmrecommendernetwork0_resnetv21_flatten0_flatten0</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"5176.5,-7272 4849.5,-7272 4849.5,-7214 5176.5,-7214 5176.5,-7272\"/>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7239.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_resnetv21_flatten0_flatten0</text>\n</g>\n<!-- dssmrecommendernetwork0_resnetv21_flatten0_flatten0&#45;&gt;dssmrecommendernetwork0_resnetv21_pool1_fwd -->\n<g id=\"edge135\" class=\"edge\"><title>dssmrecommendernetwork0_resnetv21_flatten0_flatten0&#45;&gt;dssmrecommendernetwork0_resnetv21_pool1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5013,-7203.58C5013,-7190.28 5013,-7175.63 5013,-7163.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7213.89 5008.5,-7203.89 5013,-7208.89 5013,-7203.89 5013,-7203.89 5013,-7203.89 5013,-7208.89 5017.5,-7203.89 5013,-7213.89 5013,-7213.89\"/>\n<text text-anchor=\"middle\" x=\"5037\" y=\"-7184.8\" font-family=\"Times,serif\" font-size=\"14.00\">512x1x1</text>\n</g>\n<!-- dssmrecommendernetwork0_dense4_fwd -->\n<g id=\"node131\" class=\"node\"><title>dssmrecommendernetwork0_dense4_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5064.5,-7381 4961.5,-7381 4961.5,-7323 5064.5,-7323 5064.5,-7381\"/>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7355.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7340.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_dense4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_flatten0_flatten0 -->\n<g id=\"edge136\" class=\"edge\"><title>dssmrecommendernetwork0_dense4_fwd&#45;&gt;dssmrecommendernetwork0_resnetv21_flatten0_flatten0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5013,-7312.58C5013,-7299.28 5013,-7284.63 5013,-7272.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7322.89 5008.5,-7312.89 5013,-7317.89 5013,-7312.89 5013,-7312.89 5013,-7312.89 5013,-7317.89 5017.5,-7312.89 5013,-7322.89 5013,-7322.89\"/>\n<text text-anchor=\"middle\" x=\"5023.5\" y=\"-7293.8\" font-family=\"Times,serif\" font-size=\"14.00\">512</text>\n</g>\n<!-- dssmrecommendernetwork0_dense4_relu_fwd -->\n<g id=\"node132\" class=\"node\"><title>dssmrecommendernetwork0_dense4_relu_fwd</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5060,-7490 4966,-7490 4966,-7432 5060,-7432 5060,-7490\"/>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7464.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7449.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_dense4_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense4_fwd -->\n<g id=\"edge137\" class=\"edge\"><title>dssmrecommendernetwork0_dense4_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense4_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5013,-7421.58C5013,-7408.28 5013,-7393.63 5013,-7381.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7431.89 5008.5,-7421.89 5013,-7426.89 5013,-7421.89 5013,-7421.89 5013,-7421.89 5013,-7426.89 5017.5,-7421.89 5013,-7431.89 5013,-7431.89\"/>\n<text text-anchor=\"middle\" x=\"5023.5\" y=\"-7402.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_concat1 -->\n<g id=\"node133\" class=\"node\"><title>dssmrecommendernetwork0_concat1</title>\n<polygon fill=\"#fdb462\" stroke=\"black\" points=\"5123.5,-7599 4902.5,-7599 4902.5,-7541 5123.5,-7541 5123.5,-7599\"/>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7566.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_concat1</text>\n</g>\n<!-- dssmrecommendernetwork0_concat1&#45;&gt;dssmrecommendernetwork0_dense3_relu_fwd -->\n<g id=\"edge138\" class=\"edge\"><title>dssmrecommendernetwork0_concat1&#45;&gt;dssmrecommendernetwork0_dense3_relu_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M4975.17,-7534.1C4959.79,-7519.91 4942.24,-7503.73 4927.68,-7490.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"4982.52,-7540.89 4972.12,-7537.41 4978.85,-7537.5 4975.17,-7534.11 4975.17,-7534.11 4975.17,-7534.11 4978.85,-7537.5 4978.22,-7530.8 4982.52,-7540.89 4982.52,-7540.89\"/>\n<text text-anchor=\"middle\" x=\"4972.5\" y=\"-7511.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_concat1&#45;&gt;dssmrecommendernetwork0_dense4_relu_fwd -->\n<g id=\"edge139\" class=\"edge\"><title>dssmrecommendernetwork0_concat1&#45;&gt;dssmrecommendernetwork0_dense4_relu_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5013,-7530.58C5013,-7517.28 5013,-7502.63 5013,-7490.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7540.89 5008.5,-7530.89 5013,-7535.89 5013,-7530.89 5013,-7530.89 5013,-7530.89 5013,-7535.89 5017.5,-7530.89 5013,-7540.89 5013,-7540.89\"/>\n<text text-anchor=\"middle\" x=\"5023.5\" y=\"-7511.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_dropout1_fwd -->\n<g id=\"node134\" class=\"node\"><title>dssmrecommendernetwork0_dropout1_fwd</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5140.5,-7708 4885.5,-7708 4885.5,-7650 5140.5,-7650 5140.5,-7708\"/>\n<text text-anchor=\"middle\" x=\"5013\" y=\"-7675.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_dropout1_fwd</text>\n</g>\n<!-- dssmrecommendernetwork0_dropout1_fwd&#45;&gt;dssmrecommendernetwork0_concat1 -->\n<g id=\"edge140\" class=\"edge\"><title>dssmrecommendernetwork0_dropout1_fwd&#45;&gt;dssmrecommendernetwork0_concat1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5013,-7639.58C5013,-7626.28 5013,-7611.63 5013,-7599.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5013,-7649.89 5008.5,-7639.89 5013,-7644.89 5013,-7639.89 5013,-7639.89 5013,-7639.89 5013,-7644.89 5017.5,-7639.89 5013,-7649.89 5013,-7649.89\"/>\n<text text-anchor=\"middle\" x=\"5023.5\" y=\"-7620.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n</g>\n<!-- dssmrecommendernetwork0_dense5_fwd -->\n<g id=\"node135\" class=\"node\"><title>dssmrecommendernetwork0_dense5_fwd</title>\n<polygon fill=\"#fb8072\" stroke=\"black\" points=\"5066.5,-7817 4963.5,-7817 4963.5,-7759 5066.5,-7759 5066.5,-7817\"/>\n<text text-anchor=\"middle\" x=\"5015\" y=\"-7791.8\" font-family=\"Times,serif\" font-size=\"14.00\">FullyConnected</text>\n<text text-anchor=\"middle\" x=\"5015\" y=\"-7776.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_dense5_fwd&#45;&gt;dssmrecommendernetwork0_dropout1_fwd -->\n<g id=\"edge141\" class=\"edge\"><title>dssmrecommendernetwork0_dense5_fwd&#45;&gt;dssmrecommendernetwork0_dropout1_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5014.28,-7748.58C5014.03,-7735.28 5013.76,-7720.63 5013.53,-7708.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5014.47,-7758.89 5009.79,-7748.97 5014.38,-7753.89 5014.29,-7748.89 5014.29,-7748.89 5014.29,-7748.89 5014.38,-7753.89 5018.79,-7748.8 5014.47,-7758.89 5014.47,-7758.89\"/>\n<text text-anchor=\"middle\" x=\"5025.5\" y=\"-7729.8\" font-family=\"Times,serif\" font-size=\"14.00\">256</text>\n</g>\n<!-- dssmrecommendernetwork0_dense5_relu_fwd -->\n<g id=\"node136\" class=\"node\"><title>dssmrecommendernetwork0_dense5_relu_fwd</title>\n<polygon fill=\"#ffffb3\" stroke=\"black\" points=\"5093,-7926 4999,-7926 4999,-7868 5093,-7868 5093,-7926\"/>\n<text text-anchor=\"middle\" x=\"5046\" y=\"-7900.8\" font-family=\"Times,serif\" font-size=\"14.00\">Activation</text>\n<text text-anchor=\"middle\" x=\"5046\" y=\"-7885.8\" font-family=\"Times,serif\" font-size=\"14.00\">relu</text>\n</g>\n<!-- dssmrecommendernetwork0_dense5_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense5_fwd -->\n<g id=\"edge142\" class=\"edge\"><title>dssmrecommendernetwork0_dense5_relu_fwd&#45;&gt;dssmrecommendernetwork0_dense5_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5034.98,-7857.98C5031.1,-7844.57 5026.81,-7829.75 5023.2,-7817.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5037.86,-7867.89 5030.75,-7859.53 5036.46,-7863.08 5035.07,-7858.28 5035.07,-7858.28 5035.07,-7858.28 5036.46,-7863.08 5039.39,-7857.03 5037.86,-7867.89 5037.86,-7867.89\"/>\n<text text-anchor=\"middle\" x=\"5043.5\" y=\"-7838.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_expand_dims1 -->\n<g id=\"node137\" class=\"node\"><title>dssmrecommendernetwork0_expand_dims1</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5275,-8035 5017,-8035 5017,-7977 5275,-7977 5275,-8035\"/>\n<text text-anchor=\"middle\" x=\"5146\" y=\"-8002.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_expand_dims1</text>\n</g>\n<!-- dssmrecommendernetwork0_expand_dims1&#45;&gt;dssmrecommendernetwork0_dense5_relu_fwd -->\n<g id=\"edge143\" class=\"edge\"><title>dssmrecommendernetwork0_expand_dims1&#45;&gt;dssmrecommendernetwork0_dense5_relu_fwd</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5112.66,-7969.33C5099.58,-7955.33 5084.77,-7939.49 5072.45,-7926.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5119.73,-7976.89 5109.61,-7972.65 5116.31,-7973.23 5112.9,-7969.58 5112.9,-7969.58 5112.9,-7969.58 5116.31,-7973.23 5116.19,-7966.51 5119.73,-7976.89 5119.73,-7976.89\"/>\n<text text-anchor=\"middle\" x=\"5112.5\" y=\"-7947.8\" font-family=\"Times,serif\" font-size=\"14.00\">128</text>\n</g>\n<!-- dssmrecommendernetwork0_batch_dot0 -->\n<g id=\"node138\" class=\"node\"><title>dssmrecommendernetwork0_batch_dot0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5265.5,-8144 5026.5,-8144 5026.5,-8086 5265.5,-8086 5265.5,-8144\"/>\n<text text-anchor=\"middle\" x=\"5146\" y=\"-8111.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_batch_dot0</text>\n</g>\n<!-- dssmrecommendernetwork0_batch_dot0&#45;&gt;dssmrecommendernetwork0_expand_dims0 -->\n<g id=\"edge144\" class=\"edge\"><title>dssmrecommendernetwork0_batch_dot0&#45;&gt;dssmrecommendernetwork0_expand_dims0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5201.9,-8081.12C5222.11,-8070.58 5245.51,-8059.86 5268,-8053 5341.32,-8030.64 5426.36,-8019.14 5494.94,-8013.24\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5192.84,-8085.94 5199.56,-8077.27 5197.26,-8083.59 5201.67,-8081.24 5201.67,-8081.24 5201.67,-8081.24 5197.26,-8083.59 5203.79,-8085.21 5192.84,-8085.94 5192.84,-8085.94\"/>\n<text text-anchor=\"middle\" x=\"5285\" y=\"-8056.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x1</text>\n</g>\n<!-- dssmrecommendernetwork0_batch_dot0&#45;&gt;dssmrecommendernetwork0_expand_dims1 -->\n<g id=\"edge145\" class=\"edge\"><title>dssmrecommendernetwork0_batch_dot0&#45;&gt;dssmrecommendernetwork0_expand_dims1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5146,-8075.58C5146,-8062.28 5146,-8047.63 5146,-8035.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5146,-8085.89 5141.5,-8075.89 5146,-8080.89 5146,-8075.89 5146,-8075.89 5146,-8075.89 5146,-8080.89 5150.5,-8075.89 5146,-8085.89 5146,-8085.89\"/>\n<text text-anchor=\"middle\" x=\"5163\" y=\"-8056.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x1</text>\n</g>\n<!-- dssmrecommendernetwork0_norm0 -->\n<g id=\"node139\" class=\"node\"><title>dssmrecommendernetwork0_norm0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5731.5,-8144 5516.5,-8144 5516.5,-8086 5731.5,-8086 5731.5,-8144\"/>\n<text text-anchor=\"middle\" x=\"5624\" y=\"-8111.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_norm0</text>\n</g>\n<!-- dssmrecommendernetwork0_norm0&#45;&gt;dssmrecommendernetwork0_expand_dims0 -->\n<g id=\"edge146\" class=\"edge\"><title>dssmrecommendernetwork0_norm0&#45;&gt;dssmrecommendernetwork0_expand_dims0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5624,-8075.58C5624,-8062.28 5624,-8047.63 5624,-8035.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5624,-8085.89 5619.5,-8075.89 5624,-8080.89 5624,-8075.89 5624,-8075.89 5624,-8075.89 5624,-8080.89 5628.5,-8075.89 5624,-8085.89 5624,-8085.89\"/>\n<text text-anchor=\"middle\" x=\"5641\" y=\"-8056.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x1</text>\n</g>\n<!-- dssmrecommendernetwork0_norm1 -->\n<g id=\"node140\" class=\"node\"><title>dssmrecommendernetwork0_norm1</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5498.5,-8144 5283.5,-8144 5283.5,-8086 5498.5,-8086 5498.5,-8144\"/>\n<text text-anchor=\"middle\" x=\"5391\" y=\"-8111.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_norm1</text>\n</g>\n<!-- dssmrecommendernetwork0_norm1&#45;&gt;dssmrecommendernetwork0_expand_dims1 -->\n<g id=\"edge147\" class=\"edge\"><title>dssmrecommendernetwork0_norm1&#45;&gt;dssmrecommendernetwork0_expand_dims1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5349.52,-8079.92C5336.22,-8070.2 5321.03,-8060.28 5306,-8053 5291.95,-8046.19 5276.72,-8040.21 5261.41,-8035.01\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5357.55,-8085.92 5346.84,-8083.53 5353.54,-8082.93 5349.54,-8079.93 5349.54,-8079.93 5349.54,-8079.93 5353.54,-8082.93 5352.24,-8076.33 5357.55,-8085.92 5357.55,-8085.92\"/>\n<text text-anchor=\"middle\" x=\"5348\" y=\"-8056.8\" font-family=\"Times,serif\" font-size=\"14.00\">128x1</text>\n</g>\n<!-- dssmrecommendernetwork0__mul0 -->\n<g id=\"node141\" class=\"node\"><title>dssmrecommendernetwork0__mul0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5498,-8253 5284,-8253 5284,-8195 5498,-8195 5498,-8253\"/>\n<text text-anchor=\"middle\" x=\"5391\" y=\"-8220.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0__mul0</text>\n</g>\n<!-- dssmrecommendernetwork0__mul0&#45;&gt;dssmrecommendernetwork0_norm0 -->\n<g id=\"edge148\" class=\"edge\"><title>dssmrecommendernetwork0__mul0&#45;&gt;dssmrecommendernetwork0_norm0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5461.6,-8190.58C5493.87,-8175.76 5531.74,-8158.37 5562.79,-8144.11\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5452.22,-8194.89 5459.43,-8186.62 5456.76,-8192.8 5461.31,-8190.71 5461.31,-8190.71 5461.31,-8190.71 5456.76,-8192.8 5463.18,-8194.8 5452.22,-8194.89 5452.22,-8194.89\"/>\n<text text-anchor=\"middle\" x=\"5525.5\" y=\"-8165.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n</g>\n<!-- dssmrecommendernetwork0__mul0&#45;&gt;dssmrecommendernetwork0_norm1 -->\n<g id=\"edge149\" class=\"edge\"><title>dssmrecommendernetwork0__mul0&#45;&gt;dssmrecommendernetwork0_norm1</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5391,-8184.58C5391,-8171.28 5391,-8156.63 5391,-8144.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5391,-8194.89 5386.5,-8184.89 5391,-8189.89 5391,-8184.89 5391,-8184.89 5391,-8184.89 5391,-8189.89 5395.5,-8184.89 5391,-8194.89 5391,-8194.89\"/>\n<text text-anchor=\"middle\" x=\"5394.5\" y=\"-8165.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n</g>\n<!-- dssmrecommendernetwork0__plusscalar0 -->\n<g id=\"node142\" class=\"node\"><title>dssmrecommendernetwork0__plusscalar0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5498,-8362 5252,-8362 5252,-8304 5498,-8304 5498,-8362\"/>\n<text text-anchor=\"middle\" x=\"5375\" y=\"-8329.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0__plusscalar0</text>\n</g>\n<!-- dssmrecommendernetwork0__plusscalar0&#45;&gt;dssmrecommendernetwork0__mul0 -->\n<g id=\"edge150\" class=\"edge\"><title>dssmrecommendernetwork0__plusscalar0&#45;&gt;dssmrecommendernetwork0__mul0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5380.69,-8293.98C5382.69,-8280.57 5384.91,-8265.75 5386.77,-8253.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5379.2,-8303.89 5376.23,-8293.33 5379.94,-8298.94 5380.68,-8294 5380.68,-8294 5380.68,-8294 5379.94,-8298.94 5385.13,-8294.66 5379.2,-8303.89 5379.2,-8303.89\"/>\n<text text-anchor=\"middle\" x=\"5387.5\" y=\"-8274.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n</g>\n<!-- dssmrecommendernetwork0_expand_dims2 -->\n<g id=\"node143\" class=\"node\"><title>dssmrecommendernetwork0_expand_dims2</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5479,-8471 5221,-8471 5221,-8413 5479,-8413 5479,-8471\"/>\n<text text-anchor=\"middle\" x=\"5350\" y=\"-8438.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_expand_dims2</text>\n</g>\n<!-- dssmrecommendernetwork0_expand_dims2&#45;&gt;dssmrecommendernetwork0__plusscalar0 -->\n<g id=\"edge151\" class=\"edge\"><title>dssmrecommendernetwork0_expand_dims2&#45;&gt;dssmrecommendernetwork0__plusscalar0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5358.88,-8402.98C5362.02,-8389.57 5365.48,-8374.75 5368.39,-8362.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5356.57,-8412.89 5354.46,-8402.13 5357.71,-8408.02 5358.84,-8403.15 5358.84,-8403.15 5358.84,-8403.15 5357.71,-8408.02 5363.23,-8404.17 5356.57,-8412.89 5356.57,-8412.89\"/>\n<text text-anchor=\"middle\" x=\"5367.5\" y=\"-8383.8\" font-family=\"Times,serif\" font-size=\"14.00\">1</text>\n</g>\n<!-- dssmrecommendernetwork0__div0 -->\n<g id=\"node144\" class=\"node\"><title>dssmrecommendernetwork0__div0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5269.5,-8580 5060.5,-8580 5060.5,-8522 5269.5,-8522 5269.5,-8580\"/>\n<text text-anchor=\"middle\" x=\"5165\" y=\"-8547.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0__div0</text>\n</g>\n<!-- dssmrecommendernetwork0__div0&#45;&gt;dssmrecommendernetwork0_batch_dot0 -->\n<g id=\"edge152\" class=\"edge\"><title>dssmrecommendernetwork0__div0&#45;&gt;dssmrecommendernetwork0_batch_dot0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5156.47,-8511.74C5152.65,-8491.43 5149,-8465.98 5149,-8443 5149,-8443 5149,-8443 5149,-8223 5149,-8196.24 5148.05,-8165.73 5147.22,-8144.15\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5158.4,-8521.56 5152.05,-8512.62 5157.44,-8516.66 5156.47,-8511.75 5156.47,-8511.75 5156.47,-8511.75 5157.44,-8516.66 5160.89,-8510.88 5158.4,-8521.56 5158.4,-8521.56\"/>\n<text text-anchor=\"middle\" x=\"5159.5\" y=\"-8329.3\" font-family=\"Times,serif\" font-size=\"14.00\">1x1</text>\n</g>\n<!-- dssmrecommendernetwork0__div0&#45;&gt;dssmrecommendernetwork0_expand_dims2 -->\n<g id=\"edge153\" class=\"edge\"><title>dssmrecommendernetwork0__div0&#45;&gt;dssmrecommendernetwork0_expand_dims2</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5222.38,-8516.81C5247.71,-8502.16 5277.17,-8485.12 5301.4,-8471.11\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5213.61,-8521.89 5220.01,-8512.98 5217.93,-8519.38 5222.26,-8516.88 5222.26,-8516.88 5222.26,-8516.88 5217.93,-8519.38 5224.52,-8520.78 5213.61,-8521.89 5213.61,-8521.89\"/>\n<text text-anchor=\"middle\" x=\"5279.5\" y=\"-8492.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x1</text>\n</g>\n<!-- dssmrecommendernetwork0_squeeze0 -->\n<g id=\"node145\" class=\"node\"><title>dssmrecommendernetwork0_squeeze0</title>\n<polygon fill=\"#fccde5\" stroke=\"black\" points=\"5279,-8689 5051,-8689 5051,-8631 5279,-8631 5279,-8689\"/>\n<text text-anchor=\"middle\" x=\"5165\" y=\"-8656.3\" font-family=\"Times,serif\" font-size=\"14.00\">dssmrecommendernetwork0_squeeze0</text>\n</g>\n<!-- dssmrecommendernetwork0_squeeze0&#45;&gt;dssmrecommendernetwork0__div0 -->\n<g id=\"edge154\" class=\"edge\"><title>dssmrecommendernetwork0_squeeze0&#45;&gt;dssmrecommendernetwork0__div0</title>\n<path fill=\"none\" stroke=\"black\" d=\"M5165,-8620.58C5165,-8607.28 5165,-8592.63 5165,-8580.3\"/>\n<polygon fill=\"black\" stroke=\"black\" points=\"5165,-8630.89 5160.5,-8620.89 5165,-8625.89 5165,-8620.89 5165,-8620.89 5165,-8620.89 5165,-8625.89 5169.5,-8620.89 5165,-8630.89 5165,-8630.89\"/>\n<text text-anchor=\"middle\" x=\"5175.5\" y=\"-8601.8\" font-family=\"Times,serif\" font-size=\"14.00\">1x1</text>\n</g>\n</g>\n</svg>\n",
      "text/plain": [
       "<graphviz.dot.Digraph at 0x7ff0a64a48d0>"
      ]
     },
     "metadata": {},
     "execution_count": 11
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "We can print the summary of the network using dummy data. We can see it is already training on 32M parameters!"
   ],
   "metadata": {}
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "source": [
    "user  = mx.np.array([[200], [100]], ctx)\n",
    "query = mx.np.array([[10, 20, 0, 0, 0], [40, 50, 0, 0, 0]], ctx) # Example of an encoded text\n",
    "title = mx.np.array([[10, 20, 0, 0, 0], [40, 50, 0, 0, 0]], ctx) # Example of an encoded text\n",
    "image = mx.np.random.uniform(size=(2,3, 224,224), ctx=ctx) # Example of an encoded image\n",
    "\n",
    "\n",
    "network.summary(user, query, title, image)"
   ],
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "--------------------------------------------------------------------------------\n",
      "        Layer (type)                                Output Shape         Param #\n",
      "================================================================================\n",
      "               Input    (2, 1), (2, 5), (2, 5), (2, 3, 224, 224)               0\n",
      "         Embedding-1                                 (2, 1, 128)        12800000\n",
      "        Activation-2  <Symbol dssmrecommendernetwork0_dense0_relu_fwd>               0\n",
      "        Activation-3                                    (2, 128)               0\n",
      "             Dense-4                                    (2, 128)           16512\n",
      "         Embedding-5                                 (2, 5, 128)         3840000\n",
      "              LSTM-6                                 (5, 2, 256)          659456\n",
      "        Activation-7  <Symbol dssmrecommendernetwork0_dense1_relu_fwd>               0\n",
      "        Activation-8                                    (2, 128)               0\n",
      "             Dense-9                                    (2, 128)           32896\n",
      "          Dropout-10                                    (2, 256)               0\n",
      "       Activation-11  <Symbol dssmrecommendernetwork0_dense2_relu_fwd>               0\n",
      "       Activation-12                                    (2, 128)               0\n",
      "            Dense-13                                    (2, 128)           32896\n",
      "        Embedding-14                                 (2, 5, 128)         3840000\n",
      "             LSTM-15                                 (5, 2, 256)          659456\n",
      "       Activation-16  <Symbol dssmrecommendernetwork0_dense3_relu_fwd>               0\n",
      "       Activation-17                                    (2, 128)               0\n",
      "            Dense-18                                    (2, 128)           32896\n",
      "        BatchNorm-19                            (2, 3, 224, 224)              12\n",
      "           Conv2D-20                           (2, 64, 112, 112)            9408\n",
      "        BatchNorm-21                           (2, 64, 112, 112)             256\n",
      "       Activation-22                           (2, 64, 112, 112)               0\n",
      "        MaxPool2D-23                             (2, 64, 56, 56)               0\n",
      "        BatchNorm-24                             (2, 64, 56, 56)             256\n",
      "           Conv2D-25                             (2, 64, 56, 56)           36864\n",
      "        BatchNorm-26                             (2, 64, 56, 56)             256\n",
      "           Conv2D-27                             (2, 64, 56, 56)           36864\n",
      "     BasicBlockV2-28                             (2, 64, 56, 56)               0\n",
      "        BatchNorm-29                             (2, 64, 56, 56)             256\n",
      "           Conv2D-30                             (2, 64, 56, 56)           36864\n",
      "        BatchNorm-31                             (2, 64, 56, 56)             256\n",
      "           Conv2D-32                             (2, 64, 56, 56)           36864\n",
      "     BasicBlockV2-33                             (2, 64, 56, 56)               0\n",
      "        BatchNorm-34                             (2, 64, 56, 56)             256\n",
      "           Conv2D-35                            (2, 128, 28, 28)            8192\n",
      "           Conv2D-36                            (2, 128, 28, 28)           73728\n",
      "        BatchNorm-37                            (2, 128, 28, 28)             512\n",
      "           Conv2D-38                            (2, 128, 28, 28)          147456\n",
      "     BasicBlockV2-39                            (2, 128, 28, 28)               0\n",
      "        BatchNorm-40                            (2, 128, 28, 28)             512\n",
      "           Conv2D-41                            (2, 128, 28, 28)          147456\n",
      "        BatchNorm-42                            (2, 128, 28, 28)             512\n",
      "           Conv2D-43                            (2, 128, 28, 28)          147456\n",
      "     BasicBlockV2-44                            (2, 128, 28, 28)               0\n",
      "        BatchNorm-45                            (2, 128, 28, 28)             512\n",
      "           Conv2D-46                            (2, 256, 14, 14)           32768\n",
      "           Conv2D-47                            (2, 256, 14, 14)          294912\n",
      "        BatchNorm-48                            (2, 256, 14, 14)            1024\n",
      "           Conv2D-49                            (2, 256, 14, 14)          589824\n",
      "     BasicBlockV2-50                            (2, 256, 14, 14)               0\n",
      "        BatchNorm-51                            (2, 256, 14, 14)            1024\n",
      "           Conv2D-52                            (2, 256, 14, 14)          589824\n",
      "        BatchNorm-53                            (2, 256, 14, 14)            1024\n",
      "           Conv2D-54                            (2, 256, 14, 14)          589824\n",
      "     BasicBlockV2-55                            (2, 256, 14, 14)               0\n",
      "        BatchNorm-56                            (2, 256, 14, 14)            1024\n",
      "           Conv2D-57                              (2, 512, 7, 7)          131072\n",
      "           Conv2D-58                              (2, 512, 7, 7)         1179648\n",
      "        BatchNorm-59                              (2, 512, 7, 7)            2048\n",
      "           Conv2D-60                              (2, 512, 7, 7)         2359296\n",
      "     BasicBlockV2-61                              (2, 512, 7, 7)               0\n",
      "        BatchNorm-62                              (2, 512, 7, 7)            2048\n",
      "           Conv2D-63                              (2, 512, 7, 7)         2359296\n",
      "        BatchNorm-64                              (2, 512, 7, 7)            2048\n",
      "           Conv2D-65                              (2, 512, 7, 7)         2359296\n",
      "     BasicBlockV2-66                              (2, 512, 7, 7)               0\n",
      "        BatchNorm-67                              (2, 512, 7, 7)            2048\n",
      "       Activation-68                              (2, 512, 7, 7)               0\n",
      "  GlobalAvgPool2D-69                              (2, 512, 1, 1)               0\n",
      "          Flatten-70                                    (2, 512)               0\n",
      "       Activation-71  <Symbol dssmrecommendernetwork0_dense4_relu_fwd>               0\n",
      "       Activation-72                                    (2, 128)               0\n",
      "            Dense-73                                    (2, 128)           65664\n",
      "          Dropout-74                                    (2, 256)               0\n",
      "       Activation-75  <Symbol dssmrecommendernetwork0_dense5_relu_fwd>               0\n",
      "       Activation-76                                    (2, 128)               0\n",
      "            Dense-77                                    (2, 128)           32896\n",
      "DSSMRecommenderNetwork-78                                      (2, 1)               0\n",
      "================================================================================\n",
      "Parameters in forward computation graph, duplicate included\n",
      "   Total params: 33195468\n",
      "   Trainable params: 33187520\n",
      "   Non-trainable params: 7948\n",
      "Shared params in forward computation graph: 0\n",
      "Unique parameters in model: 33195468\n",
      "--------------------------------------------------------------------------------\n"
     ]
    }
   ],
   "metadata": {
    "collapsed": true
   }
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "source": [
    "network(user, query, title, image)"
   ],
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "\n",
       "[[0.34404233]\n",
       " [0.3254302 ]]\n",
       "<NDArray 2x1 @gpu(0)>"
      ]
     },
     "metadata": {},
     "execution_count": 13
    }
   ],
   "metadata": {}
  },
  {
   "cell_type": "markdown",
   "source": [
    "The output is the similarity, if we wanted to train it on real data, we would need to minimize the Cosine loss, 1 - cosine_similarity."
   ],
   "metadata": {}
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}